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

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

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

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

推荐答案

$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相关问答推荐

Symfony Monolog:使用多个格式化程序

PHP Array to Powershell exec命令Args

如何在搜索域名时重定向到登陆页?

如何优化-PHP 7.3.14+Laravel 6

Symfony装置加载:try 从命名空间加载类";ClassUtils";Doctrine\Common\Util";

MySQLi是否在事务错误时删除保存点(并且仅删除保存点)?

WooCommerce管理订单列表自定义列不显示值

Symfony5:如何在不登录的情况下使API路由可访问?

使用php ZipArhive类将Zip压缩文件分成多个部分

无额外字段的Laravel同步

根据WooCommerce的定制订单状态增加产品库存

如何批量处理消息总线中的消息

Woocommerce 相关产品按其类别或排名数学主要类别

使用 wp_footer 挂钩添加一些 CSS 不起作用

PHP 创建 CSV 文件并用波斯语写入

在 Symfony 测试中何时使用 TestCase 而不是 KernelTestCase

Xdebug 不会在断点处停止

如何使用相同的变量使函数参数对于数组和字符串都是可选的

为什么 ECDSA 384 签名验证在 GO 中失败,但在 PHP 中却没有?

通过php在xml文件中添加 node