Richieste - Lavorare con gli errori
Questo capitolo discuterà come affrontare gli errori che si verificano quando si lavora con la libreria di richieste Http. È sempre buona norma che gli errori vengano gestiti per tutti i casi possibili.
Eccezione errore
Il modulo delle richieste fornisce i seguenti tipi di eccezione di errore:
ConnectionError- Questo verrà sollevato, se c'è qualche errore di connessione. Ad esempio, la rete non è riuscita, errore DNS, quindi la libreria della richiesta solleverà un'eccezione ConnectionError.
Response.raise_for_status() - Basato sul codice di stato, ad esempio 401, 404, solleverà HTTPError per l'URL richiesto.
HTTPError - Questo errore verrà generato per una risposta non valida in arrivo per la richiesta effettuata.
Timeout - Errori generati per un timeout per l'URL richiesto.
TooManyRedirects - Se viene superato il limite per il numero massimo di reindirizzamenti, verrà generato un errore TooManyRedirects.
Esempio
Ecco un esempio di errori visualizzati per il timeout:
import requests
getdata =
requests.get('https://jsonplaceholder.typicode.com/users',timeout=0.001)
print(getdata.text)
Produzione
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout:
HTTPSConnectionPool(host='jsonplaceholder.ty
picode.com', port=443): Max retries exceeded with url: /users (Caused
by Connect
TimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at
0x000000B02AD
E76A0>, 'Connection to jsonplaceholder.typicode.com timed out. (connect
timeout = 0.001)'))