文档章节

PHP curl session 使用

e
 ehovel
发布于 2016/02/01 17:17
字数 200
阅读 410
收藏 6

直接获取header中cookie(sessionid)用来继续请求

$url = 'test.com'; //url地址
$post = "id=user&pwd=123456"; //POST数据//或GET
$ch = curl_init($url); //初始化
curl_setopt($ch,CURLOPT_HEADER,1); //将头文件的信息作为数据流输出
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //返回获取的输出文本流
curl_setopt($ch,CURLOPT_POSTFIELDS,$post); //发送POST数据
$content = curl_exec($ch); //执行curl并赋值给$content
preg_match('/Set-Cookie:(.*);/iU',$content,$str); //正则匹配
$cookie = $str[1]; //获得COOKIE(SESSIONID)
curl_close($ch); //关闭curl/*-----使用COOKIE-----*/
curl_setopt($ch,CURLOPT_COOKIE,$cookie);//设置cookie再次请求

保存到文件用来请求

$cookie_jar = dirname(__FILE__)."/pic.cookie";
$url = "http://test.com/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
$content = curl_exec($ch);
curl_close($ch);
//之后的请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://test.com/check.action?');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$ret = curl_exec($ch);
curl_close($ch);


© 著作权归作者所有

共有 人打赏支持
e
粉丝 0
博文 14
码字总数 3914
作品 0
南京
CURL不使用文件存取COOKIE

CURL是一个非常实用的PHP扩展,模拟用户登录时经常需要存取COOKIE信息,而使用COOKIEJAR和COOKIEFILE会产生两次货两次以上的I/O操作,性能效率自不必说,在第三方云平台(BAE SAE等),有时还...

雪之丞
2016/02/04
52
0
PHP也玩并发,巧用curl 并发减少后端访问时间

说明:本人源自3篇博文 http://blog.csdn.net/zuiaituantuan/article/details/7048782 首先,先了解下 php中的curl多线程函数: # curlmultiaddhandle # curlmulticlose # curlmultiexec # ......

晨曦之光
2012/03/09
8.5K
0
CodeIgniter中运用composer安装依赖包

基本信息 + CodeIgniter 版本:3.1.8+ Nginx: Tengine/2.1.2 (nginx/1.6.2)+ MySQL: Ver 14.14 Distrib 5.6.33, for Linux (x86_64) using EditLine wrapper+ PHP: 5.6.30+ Zend Engine ......

冷三叔
04/28
0
0
php的cUrl模拟登陆时候有关session的问题

我现在有两个系统,其中一个系统中放一个指向另一个系统的链接,这个链接会执行cUrl代码,从而实现不用输入用户名和密码就可以直接登陆另一个系统,代码如下: $password=M("Shop")->where("...

freedonn
2014/10/15
2.3K
1
淘宝api登陆,下载最近2天订单的php源代码

转自:http://wangblog.org/2011/06/api2php.html config.php <?php header('Content-type: text/html; charset=utf-8'); $aSecret = 'xxxxxx'; $aKey = 'xxxxxx'; $aLogin = 'http://contai......

李佳顺
2012/10/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
6
0
现场看路演了!

HiBlock
昨天
18
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
12
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
19
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部