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 та же проблема, что сделали в итоге?