Demandes - Utilisation des demandes

Dans ce chapitre, nous allons comprendre comment travailler avec le module de requêtes. Nous examinerons ce qui suit -

  • Faire des requêtes HTTP.
  • Passer des paramètres aux requêtes HTTP.

Faire des requêtes HTTP

Pour faire une requête Http, nous devons d'abord importer le module de requête comme indiqué ci-dessous -

import requests

Voyons maintenant comment faire un appel à une URL à l'aide du module de requêtes.

Utilisons l'URL - https://jsonplaceholder.typicode.com/users dans le code, pour tester le module Requests.

Exemple

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

L'URL - https://jsonplaceholder.typicode.com/usersest appelée à l'aide de la méthode requests.get (). L'objet de réponse de l'URL est stocké dans la variable getdata. Lorsque nous imprimons la variable, cela donne le code de réponse 200, ce qui signifie que nous avons obtenu la réponse avec succès.

Production

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

Pour obtenir le contenu de la réponse, nous pouvons le faire en utilisant getdata.content comme indiqué ci-dessous -

Exemple

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

getdata.content, affichera toutes les données disponibles dans la réponse.

Production

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 }

Passage de paramètres aux requêtes HTTP

Il ne suffit pas de demander l'URL, nous devons également transmettre des paramètres à l'URL.

Les paramètres sont principalement passés sous forme de paire clé / valeur, par exemple -

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

Donc, nous avons id = 9 et username = Delphine. Voyons maintenant comment transmettre ces données aux requêtes du module Http.

Exemple

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

Les détails sont stockés dans la charge utile de l'objet dans la paire clé / valeur et transmis aux paramètres, dans la méthode get ().

Production

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

Nous obtenons maintenant les détails des détails id = 9 et username = Delphine dans la réponse.

Si vous voulez voir, à quoi ressemble l'URL après avoir passé les paramètres, en utilisant l'objet de réponse à l'URL.

Exemple

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

Production

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