我正在尝试使用php脚本获取我在iconcontact帐户的联系人列表。我可以通过输入标题集,url和按下go来获取使用RestClient的联系人列表,所以我很确定我的标题和url是正确的。iContact为这个任务提供了示例代码,但是当我运行它(使用我的帐户和ap详细信息)时,我得到与运行以下代码时相同的响应:
<?php
$Headers = array(
"Accept: text/xml",
"Content-Type: text/xml",
"API-Version: 2.2",
"API-AppId: grBddgWuirhAYT41K6gvrvRGaUGJFVQL",
"API-Username: <removed>",
"API-Password: <removed>");
$Url = "https://app.sandbox.icontact.com/icp/a/412608/c/123920/contacts";
$Handle = curl_init();
if(!$Handle)
{
die("Could not create a cURL handle.");
}
curl_setopt($Handle, CURLOPT_URL, $Url);
curl_setopt($Handle, CURLOPT_HTTPHEADER, $Headers);
curl_setopt($Handle, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 (lucid) Firefox/3.6.15");
curl_setopt($Handle, CURLOPT_RETURNTRANSFER, true);
$Response = curl_exec($Handle);
$iCode = curl_getinfo($Handle);
echo "Response: <br />";
print_r($Response);
echo "<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />";
echo "Code: <br />";
print_r($iCode);
curl_close($Handle);
?>
输出:
Response:
Code:
Array ( [url] => https://app.sandbox.icontact.com/icp/a/412608/c/123920/contacts [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.094 [namelookup_time] => 0 [connect_time] => 0.094 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 )
根据我对curl的理解(目前不是很多),http_code应该是200,xml应该在$Response中。
谁能指出我做错了什么?iconcontact的例子可以在这里找到:http://developer.icontact.com/documentation/code-library-zip-file/
我正在尝试做get_contacts.php应该做的
问题不在于代码,这很好。我不能运行它,并从我的本地主机得到响应,虽然,不得不使用公共服务器。