curl模拟post请求提交
2016-04-27 20:09
302 查看
header('content-type:text/html;charset=utf-8'); function curlPost($url,$data,$method){ $ch = curl_init(); //1.初始化 curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);//3.请求方式 //4.参数如下 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');//模拟浏览器 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER,array('Accept-Encoding: gzip, deflate'));//gzip解压内容 curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate'); if($method=="POST"){//5.post方式的时候添加数据 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); } curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $tmpInfo = curl_exec($ch);//6.执行 if (curl_errno($ch)) {//7.如果出错 return curl_error($ch); } curl_close($ch);//8.关闭 return $tmpInfo; } $data=array('name' => '1234'); $url="http://www.sohu.com/"; $method="GET"; $file=curlPost($url,$data,$method); $file=mb_convert_encoding($file,'UTF-8','GBK'); echo $file;
当cookie认证登陆的时候
[php] view plain copy
在CODE上查看代码片派生到我的代码片
<?php $cookie_file = tempnam('./temp','cookie'); function weixinPost($url,$data,$method,$setcooke=false,$cookie_file=false){ $ch = curl_init(); //1.初始化 curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);//3.请求方式 //4.参数如下 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); if($method=="POST"){//5.post方式的时候添加数据 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); } if($setcooke==true){ curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); }else{ curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); } curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $tmpInfo = curl_exec($ch);//6.执行 if (curl_errno($ch)) {//7.如果出错 return curl_error($ch); } curl_close($ch);//8.关闭 return $tmpInfo; } $data=array('username' => '***','password'=>'***'); $url="http://www.xinxinj.com/login.php"; $method="POST"; $file=weixinPost($url,$data,$method,true,$cookie_file); echo $file; $url="http://www.xinxinj.com/admin.php"; $method="GET"; $file=weixinPost($url,$data,$method,false,$cookie_file); echo $file; ?>
相关文章推荐
- Servlet 基础
- Codeforces Beta Round #19D. Points
- UVA 816 Abbott's Revenge
- 完美限制UITextField的输入长度
- iOS边练边学--文件压缩和解压缩的第三方框架SSZipArchive的简单使用
- swift 中运算符空格规则,as? 操作符
- LAMP安装
- 漫画城布局
- C++类型修饰符
- 【AR】追赶大神的脚步-太虚AR
- navicat连不上数据库
- Css框模型
- C++基础
- Easy Number Challenge(暴力,求因子个数)
- EditText 的输入类型inputType
- 极客开源-如何使用Java来发送一封电子邮件?
- ubuntu 14.04 安装 Irrlicht
- 杭电部分题型
- JavaScript对象
- android studio学习----Failed to resolve: com.android.support:design:22.1.1