Автор оригинала: Kayode Adechinan T. Salami.
Вступление
Цель этого руководства-дать вам обзор того, как выполнять HTTP-запросы в python с помощью библиотеки requests . Позвольте себе быть очарованным лаконичностью и чистотой!
Настройка библиотеки запросов
Прежде всего, вам нужно будет установить requests библиотеку, подобную этой:
$ pip install requests
ПОЛУЧИТЬ запрос
Сделать запрос GET очень просто. Смотрите сами!
import requests r = requests.get("https://jsonplaceholder.typicode.com/posts") print(r.status_code) print(r.json()) print(r.headers)
Всего в трех строках вы сделали запрос get, получили код ответа, ответ json и заголовки-три основных типа информации, которые вам нужны ежедневно. Фантастика!
ПОЛУЧИТЬ запрос с параметрами
Вы можете передать словарь в качестве параметров в запрос get с помощью params
import requests payload = {'name': 'robert', 'age': '15'} r = requests.get('http://httpbin.org/get', params=payload) print(r.json()['args'])
Запрос на публикацию
Requests предоставляет нам параметр json для обработки запроса post.
import requests payload = {'title': 'hello requests', 'body': 'do it and go home'} r = requests.post('https://jsonplaceholder.typicode.com/posts', json=payload) print(r.json())
ПОСТАВИТЬ запрос
Без комментариев!
import requests payload = {'title': 'hello requests again', 'body': 'do it and go home now'} r = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=payload) print(r.json())
Запрос на УДАЛЕНИЕ
Без комментариев!
import requests r = requests.delete('https://jsonplaceholder.typicode.com/posts/1') print(r.status_code)
Добавление заголовков
Другим параметром здесь является заголовки . Как и в предыдущем случае, он принимает словарь заголовков.
import requests payload = {'title': 'hello requests', 'body': 'do it and go home'} headers = {"Accept": "application/json", "Content-Type": "application/json"} r = requests.post('https://jsonplaceholder.typicode.com/posts', json=payload, headers=headers) print(r.json())
Загрузить файл
Потому что вам нужно будет отправить или загрузить файл. Заменить post на get во втором случае
import requests url = 'http://httpbin.org/post' files = {'file': open('the_old_man.jpg', 'rb')} r = requests.post(url, files=files) print(r.json())
Базовая Аутентификация
Давайте проверим подлинность
imports requests requests.get('https://somesecuredwebsite/user', auth=('username', 'password'))
Потоковый
Для того, чтобы эффективно обрабатывать большие данные, просто потоковая передача их!
import json import requests streaming_request = requests.get('http://httpbin.org/stream/100', stream=True) for entry in streaming_request.iter_lines(): if entry: print(json.loads(entry) )
Иду глубже
Вот и все! Это был взгляд. Достаточно для повседневных запросов. Не стесняйтесь идти дальше, взглянув на официальный запросы веб-сайт !