如何从不使用cookie的javascript发送请求?我想从lubricmonkey做到这一点,所以我不在乎相同的来源,可以同时使用原始的xmlhttprequest
或greamonkey的GM_xmlhttpRequest。
我需要从同一网站上获取一个页面,但未经身份验证。浏览器(Firefox)始终发送FF对于该域具有的所有cookie。
背景:我正在研究一个GM脚本,该脚本显示完整尺寸的个人资料图像。但是,要知道其URL的唯一方法,我必须获取该用户的配置文件页面。这必须在未经身份验证的情况下完成,否则,将通知我这些用户我正在查看他们的个人资料。现在,为了进行开发,我在服务器上使用php来获取个人资料页面,但这无法通过为其他用户分发GM脚本进行扩展。
最佳答案
您可以在请求选项上设置mozAnon或anonymous标志,以禁止发送/存储cookie。
不幸的是,这些标记aren't documented仍在wiki中,但它们似乎是available since Version 3.8 beta3(2016年4月18日)。
GM_xmlhttpRequest({
method: 'GET',
url: url,
anonymous: true, // remove original cookies
headers: {
cookie: 'whatever' // add custom cookies if necessary
},
onload: function(res) {
// optionally parse the reponse cookies which are otherwise lost
const cookieRegex = /^Set-Cookie: (.*)$/gm;
const cookies = [];
while (cookieRegex.exec(res.responseHeaders)) {
cookies.push(RegExp.$1);
}
console.log(cookies);
}
});
关于javascript - 没有Cookie的XMLHttpRequest,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29848258/