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