Запросы - Работа с запросами

В этой главе мы поймем, как работать с модулем запросов. Мы рассмотрим следующее -

  • Выполнение HTTP-запросов.
  • Передача параметров в HTTP-запросы.

Выполнение HTTP-запросов

Чтобы сделать запрос Http, нам нужно сначала импортировать модуль запроса, как показано ниже -

import requests

Давайте теперь посмотрим, как сделать вызов URL-адреса с помощью модуля запросов.

Давайте использовать URL-адрес - https://jsonplaceholder.typicode.com/users в коде, чтобы протестировать модуль запросов.

пример

import requests
getdata = requests.get('https://jsonplaceholder.typicode.com/users')
print(getdata.status_code)

URL - https://jsonplaceholder.typicode.com/usersвызывается с помощью метода requests.get (). Объект ответа URL-адреса хранится в переменной getdata. Когда мы печатаем переменную, она дает код ответа 200, что означает, что мы успешно получили ответ.

Вывод

E:\prequests>python makeRequest.py
<Response [200]>

Чтобы получить содержимое ответа, мы можем сделать это, используя getdata.content как показано ниже -

пример

import requests
getdata = requests.get('https://jsonplaceholder.typicode.com/users')
print(getdata.content)

getdata.content распечатает все данные, доступные в ответе.

Вывод

E:\prequests>python makeRequest.py
b'[\n {\n  "id": 1,\n  "name": "Leanne Graham",\n  "username": "Bret",\n
"email": "[email protected]",\n  "address": {\n  "street": "Kulas Light
",\n  "suite": "Apt. 556",\n  "city": "Gwenborough",\n  "zipcode": "
92998-3874",\n  "geo": {\n "lat": "-37.3159",\n  "lng": "81.149
6"\n }\n },\n  "phone": "1-770-736-8031 x56442",\n  "website": "hild
egard.org",\n  "company": {\n "name": "Romaguera-Crona",\n  "catchPhr
ase": "Multi-layered client-server neural-net",\n  "bs": "harness real-time
e-markets"\n }\n }

Передача параметров в HTTP-запросы

Недостаточно просто запросить URL-адрес, нам также необходимо передать параметры URL-адресу.

Параметры в основном передаются как пара ключ / значение, например:

 https://jsonplaceholder.typicode.com/users?id=9&username=Delphine

Итак, у нас есть id = 9 и username = Delphine. Теперь посмотрим, как передать такие данные в Http-модуль запросов.

пример

import requests
payload = {'id': 9, 'username': 'Delphine'}
getdata = requests.get('https://jsonplaceholder.typicode.com/users', 
params = payload)
print(getdata.content)

Детали хранятся в полезной нагрузке объекта в паре ключ / значение и передаются в params внутри метода get ().

Вывод

E:\prequests>python makeRequest.py
b'[\n {\n "id": 9,\n "name": "Glenna Reichert",\n "username": "Delphin
e",\n "email": "[email protected]",\n "address": {\n "street":
"Dayna Park",\n "suite": "Suite 449",\n "city": "Bartholomebury",\n
"zipcode": "76495-3109",\n "geo": {\n "lat": "24.6463",\n
"lng": "-168.8889"\n }\n },\n "phone": "(775)976-6794 x41206",\n "
website": "conrad.com",\n "company": {\n "name": "Yost and Sons",\n
"catchPhrase": "Switchable contextually-based project",\n "bs": "aggregate
real-time technologies"\n }\n }\n]'

Теперь мы получаем в ответ детали id = 9 и username = Delphine.

Если вы хотите увидеть, как выглядит URL-адрес после передачи параметров, используя объект ответа на URL-адрес.

пример

import requests
payload = {'id': 9, 'username': 'Delphine'}
getdata = requests.get('https://jsonplaceholder.typicode.com/users', 
params = payload)
print(getdata.url)

Вывод

E:\prequests>python makeRequest.py
https://jsonplaceholder.typicode.com/users?id=9&username=Delphine