php CURL

PHP的curl功能是从别人网站上获取内容的..

开发中常见的传输功能如下:
1.实现远程获取和采集内容
2.实现PHP网页版的FTP上传和下载
3.实现模拟登陆
4.实现接口对接,数据传输,如微信公众平台的开放接口访问
5.实现模拟cookie登陆

curl功能的用法:

//  1.初始化--创建一个新的URL资源赋给变量$ch
$ch = curl_init();  
 //  2.设置获取的内容,但是不输出
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
//  3.执行,并将获取的内容赋给变量$output
$output = curl_exec($ch);  
 //  4.释放资源
curl_close($ch); 

小实例:

//百度的网页内容抓取:
$curl = curl_init("http://www.baidu.com");
curl_exec($curl);
curl_close($curl);
-----------------------------------------------------------------------------
//百度网页内容抓取并替换
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://www.baidu.com");
//执行后不直接打印出来
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($curl);
curl_close($curl);
echo str_replace("百度", "屌丝", $output)

通过curl获取页面信息:
在curl_exec()函数执行完成后使用curl_getinfo()函数获取请求的有关信息
curl_getinfo()函数的第一个参数是初始换时返回的变量

返回的数组中包括了以下信息:
“url”                     //资源网络地址
“content_type”            //内容编码
“http_code”               //HTTP状态码
“header_size”             //header的大小
“request_size”            //请求的大小
“filetime”                //文件创建时间
“ssl_verify_result”       //SSL验证结果
“redirect_count”          //跳转技术
“total_time”              //总耗时
“namelookup_time”          //DNS查询耗时
“connect_time”             //等待连接耗时
“pretransfer_time”         //传输前准备耗时
“size_upload”              //上传数据的大小
“size_download”            //下载数据的大小
“speed_download”            //下载速度
“speed_upload”               //上传速度
“download_content_length”   //下载内容的长度
“upload_content_length”     //上传内容的长度
“starttransfer_time”        //开始传输的时间
“redirect_time”             //重定向耗时

 curl使用post方法发送数据:(封装一个函数)

function request_post($url,$data){
	$ch = curl_init();   //启动curl会话

	curl_setopt($ch,CURLOPT_URL,$url);  //要访问的地址
	curl_setopt($ch,CURLOPT_POST,1);    //发送常规的post请求
	curl_setopt($ch,CURLOPT_POSTFIELDS,$data);  //post提交的数据包

	$tmpInfo = curl_exec($ch);   //执行操作
	if(curl_errno($ch)){
		echo 'error' . curl_error($ch);  //判断是否有错
	}

	curl_close($ch);   //关闭curl会话
	return $tmpinfo;   //返回数据
}

//声明关联数组,以post方式提交给服务器
$data = array('username'=>'xiaoming','age'=>30);
//提交给服务器后,将返回的数据输出
echo request_post('http://www.ydma.cn/curl/server.php',$data)

  curl常用操作:

     http://www.cnblogs.com/liuwanqiu/p/6916013.html

 

原文地址:https://www.cnblogs.com/liuwanqiu/p/6915173.html