PHP curl获取内容

因为php原生函数file_get_contents()无发获取https协议头的url内容(需要mod_ssl的支持,或安装opensll

  • windows下的PHP,只需要到php.ini中把extension=php_openssl.dll前面的;删掉,重启服务就可以了。
  • linux下的PHP,就必须安装openssl模块,安装好了以后就可以访问了。
  • 使用curl模块获取url的封装函数如下:
    /**
     * 抓取的url链接内容
     * @param string $url    要抓取的url链接,可以是http,https链接
     * @param int $second    设置cURL允许执行的最长秒数
     * @return mixed    
     */
    function get_curl_contents($url, $second = 30)
    {
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_HEADER,0);
        curl_setopt($ch,CURLOPT_TIMEOUT,$second);//设置cURL允许执行的最长秒数
        curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);//当此项为true时,curl_exec($ch)返回的是内容;为false时,curl_exec($ch)返回的是true/false
             
        //以下两项设置为FALSE时,$url可以为"https://login.yahoo.com"协议
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  FALSE);
     
        $content = curl_exec($ch);
        curl_close($ch);
        return $content;
    }

标签: curl, diandian