[英]Posting to API with cURL
我正在嘗試使用cURL將數據發布到API。 如果我通過API提供程序的游樂場進行操作,那么它將起作用。
但是通過我的代碼,似乎無法正常工作:
$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,為什么我沒有收到任何錯誤?
幾點注意事項:
return
語句應在檢查錯誤之后。 $result === false
。 $c
在curl_error()
未定義。 http://
)。 CURLOPT_URL
是多余的,因為已經在curl_init()
定義了。 碼:
$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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.