Php 为什么weebly.com会挂起自定义卷发请求?

Php 为什么weebly.com会挂起自定义卷发请求?,php,curl,http-headers,request,libcurl,Php,Curl,Http Headers,Request,Libcurl,当我这样做的时候 $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) libcur

当我这样做的时候

$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);
请求没有完成


我的卷发装置怎么了?这适用于其他网站,但对于像weebly这样的网站,它最终会挂起。

因为libcurl的作用就像使用了GET,但您只在实际请求HEAD时更改了方法,这会把事情搞砸,因为HEAD响应可能有一个内容长度:header,但没有响应body

让libcurl执行HEAD并期望HEAD响应的正确方法是使用


应仅用于更改方法关键字,而不用于更改行为。

相同的HEAD请求是什么意思?默认情况下,get_头使用get请求获取头。