0
隨着我發送的每一條Twitter請求,the returned HTTP headers should include X-RateLimit-Limit。在PHP中檢索Twitter的X-RateLimit限制
但是,我似乎無法檢索這些使用PHP。有人能告訴我我犯了什麼頭痛的錯誤嗎?
我以正常的方式設置了我的蜷縮,並能夠成功地獲取和POST請求。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLINFO_HEADER_OUT, TRUE);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
$response = curl_exec($ch);
$response_info=curl_getinfo($ch);
$erno = curl_errno($ch);
$er = curl_error($ch);
curl_close($ch);
我能得到一些迴應信息,如HTTP_CODE
$response_info['http_code']
,但此行只是返回null
//Doesn't bloody work. No idea why!
$rate_limit = $response_info['X-RateLimit-Limit'];
我運行PHP版本5.3.10。
EDIT
這是的print_r($ response_info)的結果;
Array
(
[url] => https://api.twitter.com/1/statuses/home_timeline.json...
[content_type] => application/json;charset=utf-8
[http_code] => 200
[header_size] => 695
[request_size] => 410
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 1.239977
[namelookup_time] => 0.007361
[connect_time] => 0.155783
[pretransfer_time] => 0.465397
[size_upload] => 0
[size_download] => 99425
[speed_download] => 80182
[speed_upload] => 0
[download_content_length] => 99425
[upload_content_length] => 0
[starttransfer_time] => 0.794829
[redirect_time] => 0
[certinfo] => Array()
[redirect_url] =>
[request_header] => GET /1/statuses/home_timeline.json... HTTP/1.1
Host: api.twitter.com
Accept: */*
)
您是否嘗試過使用'的var_dump($ response_info);'看看你實際上得到來自Twitter? – Daan
我有 - X-RateLimit-Limit沒有出現, –
嗯。撥打[account/rate_limit_status](https://dev.twitter.com/docs/api/1/get/account/rate_limit_status)是否會爲您返回正確的信息? – Daan