Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在php中捕获多个cookie_Javascript_Php_Google Chrome Extension - Fatal编程技术网

Javascript 在php中捕获多个cookie

Javascript 在php中捕获多个cookie,javascript,php,google-chrome-extension,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;

编辑 本例中的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\u对
$cookies
数组进行编码,然后将其传递给扩展

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

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

^Set-Cookie:\s*([^;]*;)*([^;]*)$
如果没有这一点,它将在1号结束”

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

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

这是绝对可能的。我正在考虑使用正则表达式来获取过期日期、最大年龄、路径等。。从集合cookie来看,正则表达式非常复杂,尽管我认为这是不可能的,或者我误解了这个问题。我以为你想从浏览器中获取cookies。如果你知道如何得到它,那么请将代码添加到问题中。或者是关于如何解析Set Cookie http头字符串(您从某处获得的)的问题对于所有可选参数,后者是正确的,cookies来自curl,问题是如何解析集合Cookie httpheader@user2650277为什么我仍然有-1?请通过添加一个示例场景来澄清这个问题,说明您想在php、js中做什么,因为对我来说,这听起来有点自相矛盾。如果您有通过Set cookie头发送cookie的php代码,那么为什么需要php代码来解析Set cookie头呢?只需创建与发送cookie的代码“并行”的$cookie数组,就可以得到所有需要的值,只需按照需要的方式将它们打包到$cookies中