我想從最近使用cURL的51個URL中獲得51個JSON數據,最近我被一個連接超時問題&卡住了,它顯示數據返回bool(false)。如何解決「60051毫秒後連接超時」cURL與PHP?
下面是錯誤消息:
Curl Error no :28
Curl error message :Connection timed out after 60051 milliseconds
Count Value : 0
bool(false)
,這裏是我的代碼:
foreach($this->state_list as $short_code => $state_name_value) {
// echo "Key=" .$short_code . ", Value=" . $state_name_value;
$legislator_of_state_Url = "https://openstates.org/api/v1/legislators/?state=".$short_code."&chamber=upper";
echo "URL : ".$legislator_of_state_Url."<br/>";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$legislator_of_state_Url);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl , CURLOPT_HTTPHEADER, array ('Accept: application/json'));
curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,60);
$feed = curl_exec($curl);
echo "Curl Info :".curl_getinfo($curl) . '<br/>';
echo "Curl Error no :".curl_errno($curl) . '<br/>';
echo "Curl error message :".curl_error($curl) . '<br/>';
curl_close($curl);
// print_r(json_decode($feed,true));
$jsonarray = json_decode($feed, true);
echo "Count Value : ".count($jsonarray);
if(count($jsonarray) == 0)
{
var_dump($feed);
}
}
每當我運行此代碼2個隨機網址從51點返回的每一次這個錯誤,因此我不獲取任何JSON數據
可能的解決方案是什麼?
可能是您遇到了來自服務器的評級限制。在你短時間內提出這麼多要求後,它可能會暫時禁止你。雖然這將是一個相當低的限制...... – ChristianM