• XSS.stack #1 – первый литературный журнал от юзеров форума

Python requests.POST как обойти status_code 405 ?

Balora19

19
Premium
Регистрация
21.02.2022
Сообщения
43
Реакции
49
Учу пайтон, и есть проблемы с либой requests, а именно с post, для примера взял логин фортика, посылаю

Python:
import requests
data ={"username": "Admin",
       "credential": "password1@"}

response = requests.post("https:/XXX.XXX.XXX/remote/network", headers=headers, data=data, allow_redirects=false)
print(response.status_code)

получаю ошибку в ответ 405

причем запрос get прекрасно работает,
я знаю что может быть проблема в headers или токенах, пока не пойму как это решить,
 
405 это Method not allowed. Можно предположить что сервер ожидает что то другое вместо POST или на https:/XXX.XXX.XXX/remote/network запрос должен попасть через редирект. Ну и headers ты не создал, а передаешь. Это то что сразу в голову пришло
 
Сначала отправь запрос методом OPTIONS, чтобы получить список доступных методов запроса (вернется в заголовке ответа 'Allow')
Python:
import requests

response = requests.options('https://your_site')
print(response.headers['Allow'])
 
Попробуй зайти через Firefox (перед этим открой панель инструментов разработчика и открой вкладку network), далее, с открытой вкладкой выполни вход. В Network появится куча ссылок, найди ту, которая отправляет запрос для входа. Нажми ПКМ -> Скопировать CURL -> В Гугле пишешь CURL to Python code -> конвертируешь и получаешь готовый запрос. Надеюсь помог
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх