2018-01-28 11:31

php打开网页链接请求http连接的方法

咱们玩php网站,进行网页链接请求获取需要的数据,是必不可少的,不然难道你要“单机”不成?全部数据文件本地化?这显然不太现实吧~~

利用curl函数进行封装,具体代码如下:
function http_request($url,$timeout=30,$header=array()){
        if (!function_exists('curl_init')) {
            throw new Exception('server not install curl');      
        }
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); 
        if (!emptyempty($header)) { 
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        }  
        $data = curl_exec($ch);
        list($header, $data) = explode("\r\n\r\n", $data);
        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        if ($http_code == 301 || $http_code == 302) { 
            $matches = array();
            preg_match('/Location:(.*?)\n/', $header, $matches);
            $url = trim(array_pop($matches));
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HEADER, false);
            $data = curl_exec($ch);
        }
        if ($data == false) { 
            curl_close($ch); 
        }  
        curl_close($ch);
        return $data;
}
这个封装好了是可以直接套用的,也对301/302重定向的网页进行了进一步的处理!打开https链接的网页也是可以的~

点这,给博主早餐加个鸡蛋!(ง •̀_•́)ง
hzv5.cn文章二维码

扫描二维码,在手机上阅读!



  1. 咦,有点意思,黑色调主题不错!

  2. 我是通过“手气”来到这个页面的

添加新评论