curl阶段一:简单使用


编	写:袁	亮
时	间: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('网页、图片等地址');
	

发表评论