berezuev
@berezuev
#define TRUE FALSE

Python Requests отправка пост-запроса формы?

Есть простейшая bootstrap3 форма с post запросом, jquery валидацией (примерно такие генерирует yii2).
Пишу на питоне скрипт, который при помощи библиотеки Requests будет авторизовываться и отправлять форму. Авторизацию прохожу, CSRF-токен получаю, везде в заголовках 200-й код (успех), однако, после отправки формы возвращается страница, утверждающая, что я отправил пустые поля. Все необходимые поля и csrf токен отправляю в атрибуте "data" (список полей в chrome dev tools смотрел), однако такое ощущение, что сервер их не принимает.
С чем может быть косяк?
Ссылку на форму выложить не могу. Только отрывок кода

#сначала идет авторизация, затем из страницы, на которую нас перебросило с формы, вытаскивается csrf токен
url='https://example.com/form'

payload = {
    'lastName': 'Обама',
    	'firstName': 'Барак',
    	'middleName': 'Хусейн',
    	'birthdate': '04/08/1961',
    	'_csrf': csrf
}

headers= {
	'Content-type': 'charset=utf-8', 'X-CSRF-TOKEN': csrf}

s.headers.update({'Connection': 'keep-alive', "Referer": url})

r4=s.post(url, data=payload, headers=headers)
w = open("dump.html", "wb")
w.write(r4.text.encode("utf-8"))
w.close()

print(r4.text.encode("utf-8"))
print(r4.url)
print(r4.headers)
print(r4)


upd: пробовал в браузере отключать JS, однако форма и без него отправляется, т.е. проблема в другом
  • Вопрос задан
  • 10249 просмотров
Решения вопроса 1
un1t
@un1t
Отправь на httpbin.org/post
это сервис для отладки подобных запросов, посмотри что придет.
Тогда будет ясно на чьей стороне проблема.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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