现在的位置: 首页 > PHP开发 > 正文
使用PHP的curl获取远程网页内容
2013年09月11日 PHP开发 ⁄ 共 1228字 暂无评论 ⁄ 被围观 1,350 views+

cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。

它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。

curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证,HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,上载文件断点续传,,http代理服务器管道( proxy tunneling), 甚至它还支持IPv6, socks5代理服务器,,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。

本文将写一个获取远程网页内容的小函数,这个函数在抓取网页的时候会经常用到:

function get_url_content($url){    
    $user_agent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)";     
    $ch = curl_init();    
    //curl_setopt ($ch, CURLOPT_PROXY, $proxy);    
    curl_setopt ($ch, CURLOPT_URL, $url);//设置要访问的IP    
    curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);//模拟用户使用的浏览器     
    @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1 ); // 使用自动跳转      
    curl_setopt ($ch, CURLOPT_TIMEOUT, 60); //设置超时时间    
    curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 ); // 自动设置Referer      
    curl_setopt ($ch, CURLOPT_COOKIEJAR, 'c:\cookie.txt');    
    curl_setopt ($ch, CURLOPT_HEADER,0); //显示返回的HEAD区域的内容    
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);    
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);    
    curl_setopt ($ch, CURLOPT_TIMEOUT, 10);    
    $result = curl_exec($ch);    
    curl_close($ch);    
    return $result;    

}

给我留言

您必须 [ 登录 ] 才能发表留言!