2
回答
php curl 怎么获取保存在本地cookies的一个值啊?
【腾讯云】学生服务器套餐10元/月 >>>   

各位朋友,我今天在写一个程序,里面需要用到一个功能是,访问远程的一个页面,提取这个页面产生的cookie里面的一个字段的值,这个cookie值在在会话结束后就过期了,我想在它没过期之前把这个值post给另外一个远程的地址,我用的curl去访问这个获取cookie的页面,开启了curl的保存cookie的选项,但我非常的疑惑,怎么获得他保存的里面一个字段的值呢??

我先curl

curl--get---提取cookie里面一个字----在post----curl释放

求指导,谢谢大家了

举报
阿唐
发帖于6年前 2回/5K+阅
共有2个答案 最后回答: 5年前

可设置 CURLOPT_COOKIEJAR 项,将 Cookie 信息保存到文件,之后再读取文件操作

或者可将 CURLOPT_HEADER 项 设为1 ,之后用正则匹配出 头 中的Cookie 信息

下面是用 CURLOPT_HEADER 的例子

test.php

<?php
setcookie('test', 'sssss');
setcookie('xxx', 'www');

主文件:

<?php
$url = 'http://localhost/test.php';
//初始化curl
$curl = curl_init($url);
//curl超时 30s
curl_setopt($curl, CURLOPT_TIMEOUT, '30');
//user-agent头
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:14.0) Gecko/20120722 Firefox/14.0.1");
//返回文件流
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
//打开头文件数据流输出
curl_setopt($curl, CURLOPT_HEADER, 1);
$string = curl_exec($curl);
var_dump($string);
preg_match_all('/Set-Cookie:\stest=(.*)/i', $string, $results);
var_dump($results);
顶部