curl 分类header和body的方法

今天在抓取图片的时候, 需要同时获取到图片的 Content-type 和Content-Length 两个头信息的内容,而且也要保存图片本身的内容,

简单的方法 是获取两遍第一次获取头信息 opt 里面获取的body 参数设置成0, 然后在把header 参数设置成0,在单独获取一边body内容.

一次性获取的时候, 

我在

   curl_setopt($sh, CURLOPT_HEADER, 1) 设置了获取头信息, body 参数不用设置即可.

然后判断返回结果 如果是200 的在处理头信息,

有两种方法可以获取到, 一个是用空格, 应为头信息和报文体是由两个空行分隔的,

    if ( curl_getinfo($sh, CURINFO_HTTP_CODEl)==200)

   {

       list($header, $body) = explode("\r\n\r\n", $retData,2);

   }

 另外一种是获取头部信息大小,然后截取

  if ( curl_getinfo($sh, CURINFO_HTTP_CODEl)==200)

  {

      $hSize = curl_getinfo($sh, CURLINFO_HEADER_SIZE);

      $body   = substr($retData, $hSize);

      $header  = substr($retData,0, $hSize);   

  }


  完.



你可能感兴趣的:(Linux系统,PHP相关)