编 写:袁 亮 时 间:2015-07-09 说 明:curl的初阶使用 一、curl是干什么的? 当我们需要在程序中,抓取其他网页或者图片等远程数据的时候,可以使用curl完成一些比较强大的功能 ps:如果要求不高,只是简单的抓取,可以使用file_get_contents来抓取 二、开启扩展 ps:确定是否有该扩展,很简单,写个php文件,里面价格curl_init();运行是否报错,如果报错则需要开启扩展 1、windows下开启,以appserv为例 1.1 将以下三个文件复制到C:\Windows\system32\下 AppServ\php5\ext\php_curl.dll AppServ\php5\libeay32.dll AppServ\php5\ssleay32.dll 1.2 找到C:\Windows\php.ini文件(phpinfo函数输出的内容中,有php.ini文件的位置) extension=php_curl.dll 将这行前面的;号注释去掉 1.3 重启apache,appserv中有apache restart的功能 2、linux 虚拟机上的话重新编译php的curl模块 线上服务器,直接找运维同学帮忙安装即可 三、简单使用 1、简单函数 function curl($url){//curl模拟浏览器方式数据 $urlinfo = parse_url($url); $host = $urlinfo["scheme"].'://'.$urlinfo['host']; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//不直接输出,作为变量返回 curl_setopt($ch, CURLOPT_REFERER, $host);//模拟referer,防止被禁止,抓取图片的时候非常有用 curl_setopt($ch, CURLOPT_TIMEOUT,3);//内容传输的最长时间,一定要设置 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,3);//连接的最长时间,一定要设置 $img = curl_exec($ch); return $img; } 2、使用 $html = curl('网页、图片等地址');