首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cURL向API发布

使用cURL向API发布
EN

Stack Overflow用户
提问于 2018-05-18 09:35:40
回答 1查看 227关注 0票数 1

我试图用cURL将数据发布到API中。如果我通过API提供程序的操场进行操作,它就能工作。

但通过我的代码,有些东西似乎不起作用:

代码语言:javascript
复制
$headers = array();
$headers[] = 'Authorization: hmac ' .$websiteKey.':'.$hmac .':'.$nonce . ':'.$time;
$curl = curl_init('testcheckout.buckaroo.nl/json/Transaction');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl,CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);    
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
return $result;

if(curl_error($curl))
{
    echo 'error:' . curl_error($c);
}

curl_close($curl);

我尝试过用curl_error函数处理错误,但这似乎也不起作用。我从不犯错误,即使我犯了一些明显的错误,比如故意把我的API秘密更改成没有意义的东西。我该如何发送数据。我如何发布到API,为什么我没有得到任何错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-18 10:02:21

几个注意事项:

  • return语句应该在后面来检查错误。
  • 要检查错误,您应该测试$result === false
  • 变量$ccurl_error()中未定义。
  • 网址是正规的,缺少方案(例如,http://)。
  • 选项CURLOPT_URL是多余的,因为已经在curl_init()中定义了。

代码:

代码语言:javascript
复制
$headers = array();
$headers[] = 'Authorization: hmac ' .$websiteKey.':'.$hmac .':'.$nonce . ':'.$time;
$curl = curl_init('http://testcheckout.buckaroo.nl/json/Transaction');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl,CURLOPT_POSTFIELDS, $post);
// curl_setopt($curl, CURLOPT_URL, $url); // already defined in curl_init().
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
if($result === false)
{
    echo 'error:' . curl_error($curl);
}
curl_close($curl);
return $result;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50408244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档