Задать вопрос
@Gera01
Unity, С# и больше ничего.

Ошибка 401 при запросе, как исправить?

Использую библиотеку pupeteer.js и axios для запросов


Код
const puppeteer = require('puppeteer');
const axios = require('axios');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  const api = 'api';
  await page.goto(api);

  const headers = await page.evaluate(() => {
    return {
      Authorization: '*',
      login: 'login',
      password: 'password',
    };
  });

  const data = await axios.get(api, { headers });

  console.log(data.data);
  await browser.close();
})();


Я пробовал очень много вариантов чтобы исправить ошибку.

Basic auth
const auth = "login:password";
  const encodedAuth = Buffer.from(auth).toString("base64");
  const config = {
    headers: {
      Authorization: `Basic ${encodedAuth}`,
    },
    timeout: 120000,
  };


Authorization:
const config = {
        headers: {
            Authorization: "Bearer *",
            login: "login",
            password: "password",
        },
        timeout: 120000,
    };


И другие. Но ошибка все равно остается и я не знаю как ее исправить. Api - точно верный. token (вместо него стоит *) - получил через куки. Он тоже должен быть верным.
  • Вопрос задан
  • 97 просмотров
Подписаться 1 Сложный 3 комментария
Решения вопроса 1
nedosekinstanislav
@nedosekinstanislav
Штирлиц как никогда был близок к провалу
const puppeteer = require('puppeteer');
const axios = require('axios');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  const api = 'api';
  await page.goto(api);

  const headers = await page.evaluate(() => {
    return {
      Authorization: 'Bearer *',
      login: 'login',
      password: 'password',
    };
  });

  const data = await axios.get(api, { headers });

  console.log(data.data);
  await browser.close();
})();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы