在嘗試使用Twitter的GET statuses/user_timeline API我寫我自己一些不錯的PHP腳本生成所有需要的值,但如果我想執行此,它只是給我Twitter的不接受PHP的捲曲,但Linux的
串(0) 「」
與代碼400,這意味着,根據Twitter的API Response Codes
該請求是無效的或不能以其他方式提供服務。伴隨的錯誤信息將進一步解釋。在API v1.1中,沒有認證的請求被認爲是無效的,並且會產生這個響應。
但是,這個非常相同的請求在正常的終端curl
工作正常。
這裏是我的腳本,產生了Linux命令和執行請求的片段:
$auth_str = "Authentication: OAuth ...";
$headers = array($auth_str);
// ...
if($method == "POST")
{
echo "curl --request 'POST' '{$url}' --data '{$fields_string}' --header '{$auth_str}' --verbose";
} else
{
echo "curl --get '{$url}' --data '{$fields_string}' --header '{$auth_str}' --verbose";
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url."?".$fields_string);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER , true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$content = curl_exec($ch);