文档章节

PHP curl session 使用

e
 ehovel
发布于 2016/02/01 17:17
字数 200
阅读 433
收藏 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
博文 16
码字总数 4088
作品 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多线程函数: # curl_multi_add_handle # curl_multi_close # curl_multi_......

晨曦之光
2012/03/09
9.4K
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
curl_setopt 参数

curl_setopt (PHP 4 >= 4.0.2, PHP 5, PHP 7) curl_setopt — Set an option for a cURL transfer Description bool curl_setopt ( resource , int , mixed ) Sets an option on the given ......

沉淀岁月
2016/07/21
104
0
淘宝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

没有更多内容

加载失败,请刷新页面

加载更多

11月NEO技术社区开发进展汇总

为了帮助大家了解NEO平台上技术社区的开发进展,NEONewsToday将每月发布一份值得关注的更新报告。这些报告将包括对NEO核心项目的贡献以及对社区创建项目的改进。 这个报告不是包括所有项目进...

NEO-FANS
12分钟前
2
0
flutter FlatButton有间隔

这个按钮上下会有空隙,不是铺满的

大灰狼wow
16分钟前
2
0
WiFi攻击的三种方式

WiFi的安全问题已经引起了不少的使用者重视,甚至已经出现草木皆兵的现象。那么黑客到底是如何做到绕过身份验证来获取WiFi使用权的呢?主要有以下三种方式,其中最后一种方式十分简单。 WiFi...

Linux就该这么学
17分钟前
2
0
添加并发

<!-- 认购线程池,支持最大并发送10 最大排队队列为一万--> <task:executor id="investBuyPool" pool-size="1-10" queue-capacity="10000"/> 方法添加注解@Async("investBuyPool")......

一夜
27分钟前
2
0
Gensim?

Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法,支持流式训...

火力全開
40分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部