如何从不使用cookie的javascript发送请求?我想从lubricmonkey做到这一点,所以我不在乎相同的来源,可以同时使用原始的xmlhttprequest或greamonkey的GM_xmlhttpRequest

我需要从同一网站上获取一个页面,但未经身份验证。浏览器(Firefox)始终发送FF对于该域具有的所有cookie。

背景:我正在研究一个GM脚本,该脚本显示完整尺寸的个人资料图像。但是,要知道其URL的唯一方法,我必须获取该用户的配置文件页面。这必须在未经身份验证的情况下完成,否则,将通知我这些用户我正在查看他们的个人资料。现在,为了进行开发,我在服务器上使用php来获取个人资料页面,但这无法通过为其他用户分发GM脚本进行扩展。

最佳答案

您可以在请求选项上设置mozAnonanonymous标志,以禁止发送/存储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/

10-12 00:08
查看更多