簡體   English   中英

使用cURL發布到API

[英]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
  • 變量$ccurl_error()未定義。
  • URL格式錯誤,缺少方案(例如, 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM