简单curl操作

来源:互联网 发布:c语言初学者百题大战 编辑:程序博客网 时间:2024/05/29 12:29
<?php/* 利用curl做一个简单的get.post的模拟请求 不是太好如果谁要好的推建一下 * 使用curl 确保php.ini中的 extension=php_curl.dll开启 * curl 支持https http ftp telnet …… 是file_get_contents()效率的四倍 记着最后要关闭资源  * */function curl($url, $data='', $method='GET', $setcooke = false, $cookie_file='') {//0.设置时间无限制set_time_limit(0);//1.初始化$curl = curl_init();//2.请求地址curl_setopt($curl, CURLOPT_URL, $url);//3.请求方式curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);//4.用于绕开https加密curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);//4.0 配置curl解压缩方式(默认的压缩方式)curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept-Encoding:gzip'));curl_setopt($curl, CURLOPT_ENCODING, "gzip");//5.指明以哪种方式进行访问curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0');//6.服务器服务器返回的"Location: "放在header中递归的返回给服务器 自动设置header中的referer信息curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($curl, CURLOPT_AUTOREFERER, 1);//8.post方式的时候添加数据 注意大写if ($method == "POST") {curl_setopt($curl, CURLOPT_POSTFIELDS, $data);}//9.如果设置要请求的cookie,那么把cookie值保存在指定的文件中if ($setcooke==true) {//创建cookie文件保存的位置curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);} else {//10.就从文件中读取cookie的信息curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);}//11.将数据返回curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//12.执行一个会话$tmpInfo = curl_exec($curl);//13.错误编码if (curl_errno($curl)) {//14.错误信息return curl_error($curl);}//15 .关闭一个资源curl_close($curl);return $tmpInfo;}/* * 模拟get请求 */function get(){$url = 'http://127.0.0.1/PHP5/shop/index.php/Home/Index/index.html';$str = curl($url);    echo $str;}/* * 模拟post请求 */function post(){$cookie_file = tempnam('./temp','cookie');$url = 'http://127.0.0.1/PHP5/shop/index.php/Home/Login/login.html';$data = array('user_name'=>'manman','user_paw'=>'8520');//post的提交$str = curl($url,$data,'POST',true,$cookie_file);//get获取    $url="http://127.0.0.1/PHP5/shop/index.php/Home/Index/index.html";    $str=curl($url,'','GET',false,$cookie_file);echo $str;}

1 0
原创粉丝点击