不带Cookie的XMLHttpRequest [英] XMLHttpRequest without cookies

查看:35
本文介绍了不带Cookie的XMLHttpRequest的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从不使用Cookie的Java脚本发送请求?我想从greasemonkey开始,所以我不关心同源,可以使用原始xmlhttprequest或greamonkey的GM_xmlhttpRequest

我需要从同一网站获取一个页面,但未授权。浏览器(Firefox)始终发送FF拥有的该域的所有Cookie。

背景:我正在处理一个GM脚本,它显示全尺寸版本的个人资料图像。然而,知道其URL的唯一方法,我必须为该用户获取个人资料页面。这必须是未经授权的,否则这些用户将被通知我正在查看他们的个人资料。现在为了进行开发,我在服务器上使用php来获取个人资料页面,但这不能通过其他用户的GM脚本分发进行扩展。

推荐答案

您可以在请求选项上设置mozAnonanonymous标志以禁止发送/存储Cookie。

遗憾的是,这些标志aren't documented还在wiki中,但它们似乎是available since Version 3.8Beta3(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);
   }
});

这篇关于不带Cookie的XMLHttpRequest的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆