【发布时间】:2010-12-28 13:47:47
【问题描述】:
有谁知道为什么 php5 下的 cURL 会在 45 秒超时的情况下如此缓慢地失败,在 speedO'light 服务器上下载几 kb 的文件?
代码按要求在此处(尽管我进一步提高了超时时间以使脚本在执行期间不会失败,并将用户代理从初始 Chrome 更改为 Mozilla/4.0):
$ch = curl_init('http://www.somesite.com/' . $key);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.somesite.com/somereferer/');
// curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.39 Safari/530.5');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0');
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 600);
【问题讨论】:
-
发布您的代码或代码中的那部分
-
您好,欢迎来到本站。您使用的是 HTTP 1.1 还是 1.0?
-
好的,这是代码,@Alix Axel,据我所知,cURL 默认发送 HTTP 1.1 请求,我没有更改
标签: php performance curl timeout