Set-Cook ie голова на POST запрос 302 редирект? - PullRequest
0 голосов
/ 16 марта 2020

Я использую ax ios, чтобы попытаться войти на веб-сайт COD, чтобы получить маркер XSRF для аутентификации запросов в Node.

Я смог нормально войти в систему, однако при проверке трафика c в Chrome, я вижу, что страница, которую я вызываю ниже, возвращает перенаправление 302, но в заголовках включает все заголовки set-cook ie, которые содержат токены XSRF, которые мне нужны для захвата

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(';')
    }
});

enter image description here

Проблема, с которой я столкнулся, заключается в том, что мой ответ Ax ios возвращает 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-cook ie?

1 Ответ

0 голосов
/ 16 марта 2020

Решено, добавив следующее к моему объекту ios:

        maxRedirects: 0,
        validateStatus: function (status) {
            return status >= 200 && status < 303; // default
        },
...