解析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制作新闻系统的思路
Oct 09 PHP
一个简易需要注册的留言版程序
Oct 09 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
Apr 12 PHP
PHP array_multisort()函数的使用札记
Jul 03 PHP
PHP以及MYSQL日期比较方法
Nov 29 PHP
使用PHP编写的SVN类
Jul 18 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
CI框架学习笔记(二) -入口文件index.php
Oct 27 PHP
php实现递归的三种基本方式
Jul 04 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 PHP
PHP实现的观察者模式实例
Jun 21 PHP
discuz论坛更换域名,详细文件修改步骤
Dec 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
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
php使用正则表达式获取字符串中的URL
2016/12/29 PHP
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
jquery实现图片按比例缩放示例
2014/07/01 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
使用js获取身份证年龄的示例代码
2020/12/11 Javascript
对pycharm代码整体左移和右移缩进快捷键的介绍
2018/07/16 Python
Python解决走迷宫问题算法示例
2018/07/27 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
python3实现elasticsearch批量更新数据
2019/12/03 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
店长助理岗位职责
2013/12/13 职场文书
促销活动方案模板
2014/02/24 职场文书
Mysql 设置boolean类型的操作
2021/06/04 MySQL
解决mysql的int型主键自增问题
2021/07/15 MySQL
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby