@allresize

Почему запрос Insomnia проходит успешно, а аналогичный python requests пишет что не правильный пароль?

Я отправляю запрос POST на роутер с формой (логин, пароль), чтобы залогиниться в веб панели.
В ответ приходит html страница. В случае с программой Insomnia все хорошо - я получаю кукис авторизованной сессии и залогиненую страницу админки. Но когда Python requests, то получаю страницу авторизации с ошибкой "неправильный пароль"

64f969f0c6e32519339928.jpeg
64f96a034ca91051510811.jpeg

Мой код:
headers = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
        'Accept-Encoding': 'gzip, deflate, br',
        'Accept-Language':'ru,ru-RU;q=0.9,de-DE;q=0.8,de;q=0.7,en-US;q=0.6,en;q=0.5',
        'Cache-Control':'max-age=0',
        'Connection':'keep-alive',
        'Content-Type':'application/x-www-form-urlencoded',
        'Host': ip_port,
        'Origin':link,
        'Referer':link+'/cgi-bin/router',
        'Sec-Fetch-Dest': 'document',
        'Sec-Fetch-Mode': 'navigate',
        'Sec-Fetch-Site': 'same-origin',
        'Sec-Fetch-User': '?1',
        'Upgrade-Insecure-Requests': '1',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
        'sec-ch-ua': '"Chromium";v="116", "Not)A;Brand";v="24", "Google Chrome";v="116"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': 'Windows',
    }

payload = f'username={login}&password={passw}'
r = requests.request("POST", link+'/cgi-bin/router', data=payload, headers=headers, verify=False)


upd. нашел ошибку в другом месте кода
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Возможно потому, что параметр data принимает словарь.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы