我只能使用相同的域抓取cookie,但是当您在chrome dev工具中查看cookie时,您可以在右侧的同一个url树选项卡下看到一堆具有不同域值的cookie,如下所示。例如,圈出的cookie来自不同的域,但显示在developer.chrome.com下。
我的问题是如何从该域名标签中提取不同域名的所有Cookie?
chrome.cookies.getAll({'url': "http://developer.chrome.com"}, function (cookies) {
if (cookies) {
console.log(cookies); //will only pull cookies with domain value developer.chrome.com
}
});
答案 0 :(得分:2)
您可以通过访问document.cookie
来阅读所有Cookie并进行相应的解析。
查看示例here
答案 1 :(得分:2)
您需要检查在选项卡上发出的请求,以查看哪些请求跨域Cookie。
要访问网络API,您需要制作DevTools扩展程序[info]。
从那里你需要提出以下要求:
chrome.devtools.network.getHAR()
这将记录关于正在进行的网络请求的json。 在那个json中,您可以访问cookie对象。 json基于HAR规范。 [info]
答案 2 :(得分:0)
document.cookie
标志,否则 HttpOnly
不会授予您从脚本访问cookie的权限。
此外,除非存在XSS或类似漏洞,否则您无法发出cross-domain
Cookie请求。
上面提到的Chrome扩展程序似乎能够检查所有浏览器流量(跨域)并从该流量中提取Cookie,尽管我自己还没有尝试过,所以在这一点上可能是错误的。