解析curl提交GET,POST,Cookie的简单方法


Posted in PHP onJune 29, 2013
<?php
$get_data = array (
    "get1"=> "get1",
    "get2" => "get2",
    "get3" => "get3"
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://test.test.com/test.php?'.http_build_query($get_data));
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11');
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
$post_data = array (
    "p1" => "test1",
    "p2" => "test2",
    "p3" => "test3"
);
curl_setopt($curl, CURLOPT_POST, true);
//["CONTENT_TYPE"]=> string(70) "multipart/form-data; boundary=------077a996f5afe"
//要发送文件,在文件名前面加上@前缀并使用完整路径。
//使用数组提供post数据时,CURL组件大概是为了兼容@filename这种上传文件的写法,默认把content_type设为了multipart/form-data。
//虽然对于大多数web服务器并没有影响,但是还是有少部分服务器不兼容。
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
//["CONTENT_TYPE"]=> string(33) "application/x-www-form-urlencoded"
//curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post_data));
//在没有需要上传文件的情况下,尽量对post提交的数据进行http_build_query,然后发送出去,能实现更好的兼容性,更小的请求数据包。
$cookies = array(
 'c1'=>'v1',
 'c2'=>'v2',
 'c3'=>'v3',
);
$cookies_string = '';
foreach($cookies as $name=>$value){ 
 $cookies_string .= $name.'='.$value.';';
}
curl_setopt($curl, CURLOPT_COOKIE, $cookies_string);
$result = curl_exec($curl);
curl_close($curl);
var_dump($result);
exit;
PHP 相关文章推荐
PHP脚本的10个技巧(5)
Oct 09 PHP
PHP4实际应用经验篇(9)
Oct 09 PHP
如何使用脚本模仿登陆过程
Nov 22 PHP
php 引用(&amp;)详解
Nov 20 PHP
IIS7.X配置PHP运行环境小结
Jun 09 PHP
注意:php5.4删除了session_unregister函数
Aug 05 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
Jun 27 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
php实现的简单日志写入函数
Mar 31 PHP
PHP根据session与cookie用户登录状态操作类的代码
May 13 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
解析PHP的session过期设置
Jun 29 #PHP
php selectradio和checkbox默认选择的实现方法详解
Jun 29 #PHP
php小经验:解析preg_match与preg_match_all 函数
Jun 29 #PHP
解析php session_set_save_handler 函数的用法(mysql)
Jun 29 #PHP
使用PHP获取当前url路径的函数以及服务器变量
Jun 29 #PHP
如何使用PHP实现javascript的escape和unescape函数
Jun 29 #PHP
解析php中的escape函数
Jun 29 #PHP
You might like
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
用穿越火线快速入门php面向对象
2012/02/22 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
PDO::quote讲解
2019/01/29 PHP
PHP7 标准库修改
2021/03/09 PHP
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
JS实现拼图游戏
2021/01/29 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
[03:08]Ti4观战指南上
2014/07/07 DOTA
python list中append()与extend()用法分享
2013/03/24 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
百联网上商城:i百联
2017/01/28 全球购物
产品质量承诺书
2014/03/27 职场文书
企业法人代表授权委托书
2014/10/02 职场文书
如何写新闻稿
2015/07/18 职场文书
女方家长婚礼答谢词
2015/09/29 职场文书
Java Socket实现多人聊天系统
2021/07/15 Java/Android
DIY胆机必读:各国电子管评价
2022/04/06 无线电
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技
muduo TcpServer模块源码分析
2022/04/26 Redis