在我的服务器中,我启用了cURL模块,我甚至使用了一些联系人抓取器和PayPal,以及许多带有cURL的应用程序。
但是,我不知道为什么这个Twitter将HTTP响应代码显示为417
。
这是我的代码:
$host = "http://twitter.com/statuses/update.xml?status=".urlencode(stripslashes(urldecode($message)));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $host);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
// Look at the returned header
$resultArray = curl_getinfo($ch);
curl_close($ch);
if($resultArray['http_code'] == "200"){
$twitter_status='Your message has been sended! <a href="http://twitter.com/'.$username.'">See your profile</a>';
} else {
$twitter_status="Error posting to Twitter. Retry";
}
return $twitter_status;
(此代码段在我的本地开发环境中正常工作)
答案 0 :(得分:1)
尝试在代码中包含此行:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));