Solicitudes: trabajo con solicitudes

En este capítulo, entenderemos cómo trabajar con el módulo de solicitudes. Veremos lo siguiente:

  • Realización de solicitudes HTTP.
  • Pasar parámetros a solicitudes HTTP.

Realización de solicitudes HTTP

Para realizar una solicitud Http, primero debemos importar el módulo de solicitud como se muestra a continuación:

import requests

Veamos ahora cómo hacer una llamada a URL usando el módulo de solicitudes.

Usemos la URL - https://jsonplaceholder.typicode.com/users en el código, para probar el módulo de solicitudes.

Ejemplo

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

La URL - https://jsonplaceholder.typicode.com/usersse llama utilizando el método request.get (). El objeto de respuesta de la URL se almacena en la variable getdata. Cuando imprimimos la variable, da el código de respuesta 200, lo que significa que obtuvimos la respuesta correctamente.

Salida

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

Para obtener el contenido de la respuesta, podemos hacerlo usando getdata.content como se muestra a continuación -

Ejemplo

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

getdata.content, imprimirá todos los datos disponibles en la respuesta.

Salida

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 }

Pasar parámetros a solicitudes HTTP

No basta con solicitar la URL, también necesitamos pasar parámetros a la URL.

Los parámetros se pasan principalmente como par clave / valor, por ejemplo:

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

Entonces, tenemos id = 9 y username = Delphine. Ahora, veremos cómo pasar esos datos a las solicitudes del módulo Http.

Ejemplo

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

Los detalles se almacenan en la carga útil del objeto en el par clave / valor y se pasan a params, dentro del método get ().

Salida

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]'

Ahora estamos obteniendo los detalles de id = 9 y username = Delphine en la respuesta.

Si desea ver cómo se ve la URL después de pasar los parámetros, haciendo uso del objeto de respuesta a la URL.

Ejemplo

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

Salida

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