因此,另一家公司的一些人认为,如果他不使用soap、xml rpc或rest或任何其他合理的通信协议,而是将所有响应作为cookie嵌入头中,那将是非常棒的.

我需要从这个curl 响应中提取这些cookies ,希望它们是一个数组.如果我不得不浪费大量的时间来编写一个语法分析器,我会非常不高兴.

有人知道如何简单地做到这一点,最好是不向文件中写入任何内容吗?

如果有人能帮我解决这个问题,我将不胜感激.

推荐答案

$ch = curl_init('http://www.google.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// get headers too with this line
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
// get cookie
// multi-cookie variant contributed by @Combuster in comments
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);
$cookies = array();
foreach($matches[1] as $item) {
    parse_str($item, $cookie);
    $cookies = array_merge($cookies, $cookie);
}
var_dump($cookies);

Php相关问答推荐

virtctl 在通过命令行执行而不是从 php exec() 执行时有效

PHP |将特定的德国日期格式解析为 yyyy-mm-dd

数组洗牌和undo撤消

使用正则表达式匹配整个句子后如何匹配一些单词?

make:entity symfony 命令在教义Helper.php 中给出错误

Laravel:当我想更新我的数据库时,参数太少而无法运行

仅在第一个轮播单元格上添加课程(轻弹)

选择单个 MYSQL 列中的最新条目并将其分配给 php 变量

获取有帖子的用户

如何创建一个单独的类以在表中创建新记录并通过控制器上的接口调用它

Laravel 7 - 如何将多个数据插入 mysql 数据库

PHP中的双问号(??)运算符是什么意思

PHP 7.2 函数 create_function() 已弃用

Laravel 5.5 ajax 调用 419(未知状态)

mcrypt 已弃用,有什么替代方案?

如何在没有 Composer 的情况下安装 Composer PHP 包?

PHP错误:致命错误:常量表达式包含无效操作

仅从 Laravel 集合中获取特定属性

在 Ubuntu 上的 php 5.6 上安装 php-zip

给变量一个默认值的最好方法(模拟 Perl ||, ||= )