Solicitações - Trabalhando com erros

Este capítulo irá discutir como lidar com os erros que ocorrem ao trabalhar com a biblioteca de solicitações Http. É sempre uma boa prática administrar os erros em todos os casos possíveis.

Exceção de erro

O módulo de solicitações fornece os seguintes tipos de exceção de erro -

ConnectionError- Será gerado, se houver algum erro de conexão. Por exemplo, a rede falhou, erro de DNS, então a biblioteca Request irá gerar a exceção ConnectionError.

Response.raise_for_status() - Com base no código de status, por exemplo, 401, 404, ele gerará HTTPError para o URL solicitado.

HTTPError - Este erro será gerado para uma resposta inválida para a solicitação feita.

Timeout - Erros levantados para um tempo limite para a URL solicitada.

TooManyRedirects - Se o limite for ultrapassado para redirecionamentos máximos, isso gerará um erro TooManyRedirects.

Exemplo

Aqui está um exemplo de erros mostrados para tempo limite -

import requests
getdata = 
requests.get('https://jsonplaceholder.typicode.com/users',timeout=0.001)
print(getdata.text)

Resultado

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