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