api integration php curl


api integration php curl

我正在尝试集成API,并在API集成说明中显示以下内容:

GET /offers.json or /offers.xml
Headers: API-KEY={your_key}, API-LOGIN={your_login}

旋度的例子:

curl https://api.thewebsite.com/v1/offers.json -H 'API-KEY:
1a2b3c4d5e6f7g8h9i' -H 'API-LOGIN: 1a2b3c4d5e6f7g8h9i'

我尝试使用下面的cURL代码没有成功。至于GET方法,我不确定如何传递API KEY &API LOGIN作为headers.

$header = array('Content-Type: application/xml', 'API-KEY=1a2b3c4d5e6f7g8h9i', 'API-LOGIN=1a2b3c4d5e6f7g8h9i');
$url = "https://api.thewebsite.com/v1/offers.xml";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
$xml = curl_exec($curl);
curl_close($curl);
print $xml;

HTTP头需要使用冒号作为键和值之间的分隔符,而不是等号。试试这个:

$header = array('Content-Type: application/xml', 'API-KEY: 1a2b3c4d5e6f7g8h9i', 'API-LOGIN: 1a2b3c4d5e6f7g8h9i');

您可以从curl获得一些调试信息,并查看哪些不适合您:

print "<pre>'n";
print_r(curl_getinfo($curl));  // get error info
echo "'n'ncURL error number:" .curl_errno($curl); // print error info
echo "'n'ncURL error:" . curl_error($ch); 
print "</pre>'n";
curl_close($curl); // close curl session

确保在关闭和终止curl对象之前调用它

尝试以下操作-

print "<pre>'n";
print_r(curl_getinfo($curl));  // get error info
echo "'n'ncURL error number:" .curl_errno($curl); // print error info
echo "'n'ncURL error:" . curl_error($ch); 
print "</pre>'n";
curl_close($curl);