解析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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
文章推荐系统(三)
Oct 09 PHP
php in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 PHP
PHP 事件机制(2)
Mar 23 PHP
php下通过IP获取地理位置的代码(小偷程序)
Jun 09 PHP
php实现快速排序法函数代码
Aug 27 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
Aug 07 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
php中namespace use用法实例分析
Jan 22 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
php set_include_path函数设置 include_path 配置选项
Oct 30 PHP
PHP面向对象程序设计方法实例详解
Dec 24 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中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
php实现复制移动文件的方法
2015/07/29 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
详解php协程知识点
2018/09/21 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
jQuery实现简单倒计时功能的方法
2016/07/04 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
Django发送邮件和itsdangerous模块的配合使用解析
2019/08/10 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
2019/08/17 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
python能开发游戏吗
2020/06/11 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
楼面部长岗位职责范本
2014/02/14 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
小程序后台PHP版本部署运行 LNMP+WNMP
2021/04/01 Servers
PHP使用QR Code生成二维码实例
2021/07/07 PHP
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers