javascript - 在php中捕获多个cookie

标签 javascript php google-chrome-extension

编辑 示例中的cookie来自curl请求

原问题: 我想从 php 获取所有不同的 cookie,然后使用 chrome 插件在网站上设置 cookie

Set-Cookie: ref_code=__default__; expires=Wed, 07-Jan-2026 07:55:57 GMT; Max-Age=315359999; path=/; domain=.somesite.com; secure; httponly
Set-Cookie: usertype=Unlogged-User; expires=Wed, 07-Jan-2026 07:55:57 GMT; Max-Age=315359999; path=/; domain=.somesite.com; secure

下面的代码将获取 cookie,但不包括 expires 、 Max-Age 指令等...但我也需要所有这些

 preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);
        //var_dump($matches);
        $cookies = array();
        foreach ($matches[1] as $item) {
            parse_str($item, $cookie);
            $cookies = array_merge($cookies, $cookie);
        }

json_encode $cookies 数组,然后将其传递给扩展程序。

考虑到chrome.cookie按以下顺序设置参数,如何使用php高效获取所有cookie,然后使用js操作json来设置cookie

enter image description here

最佳答案

尝试在正则表达式中添加“*”:

^Set-Cookie:\s*([^;]*;)*([^;]*)$

如果没有它,它会在第一个“;”处结束

如果 Set-Cookie: 之后始终至少有 1 个空格,那么这似乎有效:

preg_match_all("/\s+([^;]*;)/", $result, $matches);

关于javascript - 在php中捕获多个cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34703523/

相关文章:

javascript - 使用 AJAX 的 Select2 出现在模态后面

JavaScript 对象相关的问题,下面代码的输出是什么?

php - 所有数据都应该通过 HTTP-POST 发送吗?

php - 如何仅使用电子邮件信息更改用户 AD 密码。 PHP

javascript - Chrome 扩展后台消息监听器启动两次

javascript - 在 Chrome 扩展程序中打开新标签页

javascript - canvas context.drawImage 跨浏览器的差异?

javascript - 为什么/什么时候 $.inArray 返回 -1?

javascript - Wordpress functions.php 不加载 js 和 css 文件

google-chrome-extension - 创建 Chrome 扩展内容脚本时未定义函数