fetch скрипт в браузере



  • Здравствуйте. Есть сайт N, находящийся под защитой cloudflare.
    В обычном браузере Chrome можно через консоль посылая fetch спокойно логиниться, обновлять страницу и ты в аккаунте (в ответ на запрос с логином сайт посылает токен авторизации). Т.е. это гораздо проще и быстрее, чем вводить логин, пароль и т.д. Таким же образом можно выполнять на сайте другие действия, но только через консоль в обычном браузере. Скрипт логина имеет вид:

    fetch("https://webapi.xxxx.xx/api/token/user", {
    "headers": {
    "accept": "/",
    "accept-language": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7",
    "authorization": "Bearer",
    "content-type": "application/json",
    "sec-ch-ua": "" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": ""Windows"",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "same-site"
    },
    "referrer": "https://www.xxxx.xx/",
    "referrerPolicy": "strict-origin-when-cross-origin",
    "body": "{"Username":"qwerty@qwerty.com","Password":"qwerty12345","MergeCart":true}",
    "method": "POST",
    "mode": "cors",
    });

    Но когда я в басе открываю сайт и с помощью действия "Яваскрипт" выполняю этот скрипт на странице, то ничего не происходит. Через запросы если делать, то офк все вываливается в code 1020(403).
    Собственно вопрос следующий: как в басе сделать то же самое, что я могу сделать в обычном браузере, т.е. открыть сайт, выполнить fetch и таким образом залогиниться? Какое действие нужно выбрать для этого и какую структуру должен иметь скрипт? И как перехватит ответ сайта с токеном авторизации?
    Поиск по темам результатов не дал. Извините, если мой вопрос нубский, но я действительно не могу понять, как оно должно выглядеть.
    Спасибо всем, кто откликнется.



  • @wasted попробуйте добавить await перед вызовом fetch.



  • @Oyasumi-Punpun не помогло, уже пробовал.



  • @wasted та же проблема, что сделали в итоге?


Log in to reply