Richieste: utilizzo delle richieste
In questo capitolo capiremo come lavorare con il modulo delle richieste. Analizzeremo quanto segue:
- Effettuare richieste HTTP.
- Passaggio di parametri alle richieste HTTP.
Effettuare richieste HTTP
Per effettuare una richiesta Http, dobbiamo prima importare il modulo di richiesta come mostrato di seguito -
import requests
Vediamo ora come effettuare una chiamata a URL utilizzando il modulo delle richieste.
Usiamo l'URL - https://jsonplaceholder.typicode.com/users nel codice, per testare il modulo Richieste.
Esempio
import requests
getdata = requests.get('https://jsonplaceholder.typicode.com/users')
print(getdata.status_code)
L'url - https://jsonplaceholder.typicode.com/usersviene chiamato utilizzando il metodo requests.get (). L'oggetto risposta dell'URL è archiviato nella variabile getdata. Quando stampiamo la variabile, fornisce il codice di risposta 200, il che significa che abbiamo ottenuto la risposta con successo.
Produzione
E:\prequests>python makeRequest.py
<Response [200]>
Per ottenere il contenuto dalla risposta, possiamo farlo utilizzando getdata.content come mostrato di seguito -
Esempio
import requests
getdata = requests.get('https://jsonplaceholder.typicode.com/users')
print(getdata.content)
getdata.content, stamperà tutti i dati disponibili nella risposta.
Produzione
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 }
Passaggio di parametri alle richieste HTTP
La semplice richiesta dell'URL non è sufficiente, dobbiamo anche passare i parametri all'URL.
I parametri sono per lo più passati come coppia chiave / valore, ad esempio -
https://jsonplaceholder.typicode.com/users?id=9&username=Delphine
Quindi, abbiamo id = 9 e username = Delphine. Vedremo ora come passare tali dati alle richieste del modulo Http.
Esempio
import requests
payload = {'id': 9, 'username': 'Delphine'}
getdata = requests.get('https://jsonplaceholder.typicode.com/users',
params = payload)
print(getdata.content)
I dettagli vengono memorizzati nel payload dell'oggetto nella coppia chiave / valore e passati a params, all'interno del metodo get ().
Produzione
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]'
Ora stiamo ottenendo i dettagli di id = 9 e username = Delphine nella risposta.
Se vuoi vedere come appare l'URL dopo aver passato i parametri, facendo uso dell'oggetto risposta all'URL.
Esempio
import requests
payload = {'id': 9, 'username': 'Delphine'}
getdata = requests.get('https://jsonplaceholder.typicode.com/users',
params = payload)
print(getdata.url)
Produzione
E:\prequests>python makeRequest.py
https://jsonplaceholder.typicode.com/users?id=9&username=Delphine