解析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 相关文章推荐
实例(Smarty+FCKeditor新闻系统)
Jan 02 PHP
php的大小写敏感问题整理
Dec 29 PHP
解析Ubuntu下crontab命令的用法
Jun 24 PHP
PHP实现图片旋转效果实例代码
Oct 01 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 PHP
PHP实现在线阅读PDF文件的方法
Jun 17 PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 PHP
PHP框架laravel的.env文件配置教程
Jun 07 PHP
php简单构造json多维数组的方法示例
Jun 08 PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 PHP
php中对象引用和复制实例分析
Aug 14 PHP
php实现大文件断点续传下载实例代码
Oct 01 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
漂亮但不安全的CTB
2006/10/09 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
jQuery 树形结构的选择器
2010/02/15 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
[03:04]2018年度DOTA2玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
python中遍历文件的3个方法
2014/09/02 Python
Python与Redis的连接教程
2015/04/22 Python
Python删除windows垃圾文件的方法
2015/07/14 Python
python编程线性回归代码示例
2017/12/07 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
HTML5学习笔记之History API
2015/02/26 HTML / CSS
运动会入场口号
2014/06/07 职场文书
导师对论文的学术评语
2015/01/04 职场文书
创业计划书之农家乐
2019/10/09 职场文书
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫