【发布时间】:2014-10-30 23:29:08
【问题描述】:
当我这样做时
$h = get_headers('http://www.weebly.com');
它工作得很好......该页面的标题会立即返回。
但如果我尝试使用 curl 通过显式 HEAD 请求检索标头...
$url = 'http://www.weebly.com';
$request_headers = array(
'Connection: close',
);
$user_agent = 'curl/7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15';
$ch = curl_init($url);
curl_setopt_array($ch, array(
CURLOPT_CUSTOMREQUEST => 'HEAD',
CURLOPT_HEADER => TRUE,
CURLOPT_HTTPHEADER => $request_headers,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_FOLLOWLOCATION => TRUE,
CURLOPT_MAXREDIRS => 10,
CURLOPT_USERAGENT => $user_agent,
));
$result = curl_exec($ch);
请求没有完成。
我的 CURL 设置有什么问题?这适用于 http://www.google.com 的其他网站,但对于一些像 weebly 这样的网站,它最终会挂起。
【问题讨论】:
-
“相同的 HEAD 请求”是什么意思? doc 声明 默认情况下
get_headers使用 GET 请求来获取标头。
标签: php curl http-headers request libcurl