Уроки Python 17 - POST запросы

Уроки Python 17 - POST запросы

Кроме GET запросов существуют так называемые POST зпросы, которые применяются для отсылки на сервер больших текстов или каких-то файлов. Ярким примером POST запроса служит любая форма ввода данных на сайте - где вы заполняете поля, добавляете какой то свой файл и нажимаете кнопку Отправить. С помощью библиотеки requests мы можем сформировать любой POST запрос прямо из нашей программы на Python. Это может использоваться для связи с сервером на PHP, авторизации на каком-либо сайте, или для брута формы ввода пароля на самописных CMS. Давайте посмотрим как послать обычный POST запрос. Предположим на нашем сайте site.ru существует скрипт guest.php который принимает POST запросом имя пользователя и сообщение и постит их в гостевую книгу. Сформируем пробный запрос:

import requests
user='pythono'
message='Hello world'
r = requests.post("http://site.ru/guest.php", data={'user': user, 'message': message})
Теперь давайте отправим запрос с файлом 0.txt во вложении и теми же двумя полями формы что и в предыдущем запросе, таким образом что файл придет на сервер под именем myfile.
import requests, os, sys
user='pythono'
message='Hello world'
with open('0.txt', 'rb') as f: r = requests.post('http://site.ru/2.php', files={'myfile': f}, data={'user': user, 'message': message})

POST запросы в Python Лого Pythono.ru Уроки Python 17 - POST запросы