解析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 相关文章推荐
对Session和Cookie的区分与解释
Mar 16 PHP
php表单转换textarea换行符的方法
Sep 10 PHP
PHP中的use关键字概述
Jul 23 PHP
PHP中构造函数和析构函数解析
Oct 10 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 PHP
smarty简单应用实例
Nov 03 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
php探针不显示内存解决方法
Sep 17 PHP
Laravel统计一段时间间隔的数据方法
Oct 09 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 11 PHP
php的无刷新操作实现方法分析
Feb 28 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
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
提高网站信任度的技巧
2008/10/17 Javascript
jQuery.extend 函数详解
2012/02/03 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
JavaScript事件类型中UI事件详解
2016/01/14 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
python修改txt文件中的某一项方法
2018/12/29 Python
Python字典添加,删除,查询等相关操作方法详解
2020/02/07 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
HUGO BOSS美国官方网上商店:世界知名奢侈品牌
2017/08/04 全球购物
给朋友的赠语
2015/06/23 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang