php httpclient 超时怎么办

2025-05-15 14:01:44
推荐回答(2个)
回答1:

//HttpClient功能很强大,可以和snoopy一样实行模拟数据提交等操作
使用静态方法quikGet(ur)或者quickPost(url)无法做到设置超时时间,所以做了如下修改,通过下面的方法可以实现
//设置时间超时

$bits = parse_url($main_url);
$host = $bits['host'];
$port = isset($bits['port']) ? $bits['port'] : 80;
$path = isset($bits['path']) ? $bits['path'] : '/';
if (isset($bits['query'])) {
echo $path .= '?'.$bits['query'];
}
// $client = new HttpClient($main_url);

//$client->setDebug(false);
$client = new HttpClient($host, $port);
$client ->timeout =10;
if (!$client->get($path)) {
return false;
} else {
$pageContents = $client->getContent();
}
//

回答2:

把超时时间设置长点试试,再不行换个主机ip试试