我正在使用axios尝试登录到COD网站以获得XSRF令牌,以对Node中的请求进行身份验证。
我已经能够正常登录,但是当检查Chrome中的流量时,我可以看到我在下面调用的页面返回302重定向,但是在标题中,包括所有包含XSRF的set-cookie标题我需要捕获的令牌
const loginReq = await axios({
method: "post",
url: "https://profile.callofduty.com/do_login?new_SiteId=cod",
data: `username=foo&remember_me=true&password=bar%21&_csrf=${csrf}`,
headers: {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.102 Safari/537.36 Vivaldi/2.0.1309.37",
"Referer": "https://profile.callofduty.com/cod/login?redirectUrl=https%3A%2F%2Fwww.callofduty.com%2F",
"Origin": "https://profile.callofduty.com",
"Content-Type": "application/x-www-form-urlencoded",
"Cookie": cookie.join(';')
}
});
我遇到的问题是我的Axios响应返回200,并且我的页眉不是我期望的那样。相反,我得到了
{ 'content-type': 'text/html;charset=utf-8',
server: 'Apache/2.4.39 (Amazon) Communique/4.2.2',
'last-modified': 'Thu, 12 Mar 2020 00:37:41 GMT',
etag: 'W/"785b9-5a09d8f80f9a5-gzip"',
'cache-control': 'max-age=217372',
expires: 'Thu, 19 Mar 2020 00:37:37 GMT',
date: 'Mon, 16 Mar 2020 12:14:45 GMT',
'transfer-encoding': 'chunked',
connection: 'close, Transfer-Encoding',
'x-activision-regioncode': 'EN',
'x-activision-countrycode': 'GB',
'access-control-allow-credentials': 'true',
'access-control-allow-origin': 'https://profile.callofduty.com' }
有人知道我如何捕获所需的set-cookie标头吗?
答案 0 :(得分:0)
通过在我的axios对象中添加以下内容来解决:
maxRedirects: 0,
validateStatus: function (status) {
return status >= 200 && status < 303; // default
},