php Connection timed out after 30000 milliseconds

 

function HttpRequest($url, $params, $method = 'GET', $header = array(), $bEncode = true)
{
$opts = array(
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_HTTPHEADER => $header
);
/* 根據請求類型設置特定參數 */
switch (strtoupper($method)) {
case 'GET':
$opts[CURLOPT_URL] = $url;
break;
case 'POST':
$opts[CURLOPT_URL] = $url;
$opts[CURLOPT_POST] = 1;
$opts[CURLOPT_POSTFIELDS] = json_encode($params, JSON_UNESCAPED_UNICODE);
break;
default:
throw new Exception('不支持的請求方式!');
}
/* 初始化並執行curl請求 */
$ch = curl_init();
curl_setopt_array($ch, $opts);
$data = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
echo $error;
if ($error) throw new Exception('請求發生錯誤:' . $error);
return $data;
}


若是某個請求url出現這種問題json

只能排除法看出問題服務器

 

1. 使用你的curl  http代碼請求別的網站試試curl

2. 相同的代碼在別的電腦上,別的服務器上試試網站

3. ping 一下你請求的url的host, 多ping ping 基本素養別忘。 試了三個小時最後發現是個緣由,根本ping不通url

相關文章
相關標籤/搜索