1

我在火狐。javascript中有没有办法只使用自定义标头发出http请求?即没有cookie字段或用户代理或任何东西,只有我的js代码指定的。

它应该是基础 js 而不是 jquery 之类的库。

例如,尝试发送没有 'Cookie' 标头的 Http GET,我已经尝试过:

var myRequest = new XMLHttpRequest();
myRequest.open("GET", "http://asite.com");
myRequest.setRequestHeader("Cookie", '');
myRequest.send();

但我查看开发人员控制台,请求仍然与会话 cookie 一起发送。我也试过:

myRequest.setRequestHeader("Cookie", null);
4

2 回答 2

2

您可以使用fetch()默认不包含 cookie 的方法(由于credentials在大多数使用场景中默认为 false)。

于 2015-09-06T19:20:31.113 回答
1

阅读:https ://fetch.spec.whatwg.org/#forbidden-header-name

这是不能在 xmlhttprequest 中修改/删除的标头列表:

Accept-Charset Accept-Encoding Access-Control-Request-Headers Access-Control-Request-Method Connection Content-Length Cookie Cookie2 Date DNT Expect Host Keep-Alive Origin Referer TE Trailer Transfer-Encoding Upgrade Viaor 以 or 开头Proxy-Sec-包括当它只是Proxy-or时Sec-)。

于 2015-08-15T07:29:48.613 回答