解析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根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 PHP
PHP队列用法实例
Nov 05 PHP
常见php数据文件缓存类汇总
Dec 05 PHP
php简单socket服务器客户端代码实例
May 18 PHP
php微信公众平台开发(四)回复功能开发
Dec 06 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
Feb 23 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
Aug 14 PHP
laravel 实现划分admin和home 模块分组
Oct 15 PHP
PHP7 新增常量
Mar 09 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
ThinkPHP CURD方法之limit方法详解
2014/06/18 PHP
php实现将Session写入数据库
2015/07/26 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
JavaScript内核之基本概念
2011/10/21 Javascript
Javascript中的apply()方法浅析
2015/03/15 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
Python2随机数列生成器简单实例
2017/09/04 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
python面向对象入门教程之从代码复用开始(一)
2018/12/11 Python
Python下简易的单例模式详解
2019/04/08 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
python两个_多个字典合并相加的实例代码
2019/12/26 Python
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
工商治理实习生的自我评价
2014/01/15 职场文书
高中生自我评语大全
2014/01/19 职场文书
办公室员工岗位工作职责
2014/03/10 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
世界地球日活动总结
2015/02/09 职场文书
幼师中班个人总结
2015/02/12 职场文书
慰问信格式
2015/02/14 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书