CURL不依靠COOKIEJAR获取COOKIE

时间:2014-02-15所属栏目: PHP/PHP框架 来源: 未知 热度:

PHP中CURL类是一个很是牛逼的器材类,详细怎么牛逼就不烦琐了。
对付COOKIE,CURL类也有很不错的支持,但不足机动,并未能通过现成的要领以变量的要领获取到,而以要通过以下要领实现。

// 把COOKIE生涯至cookie.txt
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

先把COOKIE生涯文件,挪用的时辰还得读取文件,这样意味着两次的IO操纵,服从怎样,不消说各人都清晰了。
那么有没有步伐可以绕过写读文件呢?不卖关子,直接上代码:

// 初始化CURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// 获取头部信息
curl_setopt($ch, CURLOPT_HEADER, 1);
// 返回原生的(Raw)输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 执行并获取返回功效
$content = curl_exec($ch);
// 封锁CURL
curl_close($ch);
// 理会HTTP数据流
list($header, $body) = explode("\r\n\r\n", $content);
// 理会COOKIE
preg_match("/set\-cookie:([^\r\n]*)/i", $header, $matches);
// 后头用CURL提交的时辰可以直接行使
// curl_setopt($ch, CURLOPT_COOKIE, $cookie);
$cookie = $matches[1];

打完收工!接待各人来喷!

标签:cookie, cookiejar, curl, curl cookie, php
标签:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)