当前位置 : 主页 > 网络编程 > PHP >

带超时的getHeader函数

来源:互联网 收集:自由互联 发布时间:2021-06-30
1. [代码] [PHP]代码 function getHeaders($url,$timeout=2) { $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER,true); curl_setopt($ch,CURLOPT_NOBODY,true); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); cur

1. [代码][PHP]代码    

    function getHeaders($url,$timeout=2)
    {
        $ch=curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_HEADER,true);
        curl_setopt($ch,CURLOPT_NOBODY,true);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);
        $data=curl_exec($ch);
        curl_close($ch);
        if(empty($data)) return false;
        $headers=explode("\n",$data);
        foreach ($headers as $key=>$headerLine){
            if(strlen($headerLine)>1){
                if(strpos($headerLine,':')!==false) $headers[stristr($headerLine,':',true)]=trim(stristr($headerLine,':'),': ');
            }else{
                unset($headers[$key]);
            }
        }
        return  $headers;
    }

2. [代码]返回值    

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Server: NWS_UGC_HY
    [2] => Connection: keep-alive
    [3] => Date: Tue, 14 Jun 2016 13:27:28 GMT
    [4] => Cache-Control: max-age=600
    [5] => Expires: Tue, 14 Jun 2016 13:37:28 GMT
    [6] => Last-Modified: Sun, 03 Aug 2014 22:52:31 GMT
    [7] => Content-Type: application/octet-stream
    [8] => Content-Length: 102752
    [9] => X-Cache-Lookup: Hit From Disktank
    [Server] => NWS_UGC_HY
    [Connection] => keep-alive
    [Date] => Tue, 14 Jun 2016 13:27:28 GMT
    [Cache-Control] => max-age=600
    [Expires] => Tue, 14 Jun 2016 13:37:28 GMT
    [Last-Modified] => Sun, 03 Aug 2014 22:52:31 GMT
    [Content-Type] => application/octet-stream
    [Content-Length] => 102752
    [X-Cache-Lookup] => Hit From Disktank
)
网友评论