Urllib.Erro

Urllib.Erro

Neste curto post, discutiremos sobre o urllib.módulo de erro que define as classes de exceção do urllib.Módulo de solicitação.

O módulo suporta as seguintes exceções:

    1. Urlerror - esse tipo de exceção é levantado ao buscar um recurso específico. A função fornece uma propriedade de razão que mantém as informações detalhadas sobre a causa do erro.
    2. Httperror - Este tipo de exceção é levantado no encontro de erros exóticos de HTTP, como auth. Da mesma forma, a função suporta propriedades de código, razão e cabeçalhos que retornam o código de status HTTP, explicação do erro e os cabeçalhos de resposta HTTP para a solicitação, respectivamente.
    3. ContentToShorterRor - Esta exceção é aumentada se os dados retornados forem menores que o valor esperado. O comprimento dos dados é definido no cabeçalho do comprimento do conteúdo.

Exemplo 1: Exceção de Urlerror

O código de exemplo a seguir mostra como usar os erros levantados no módulo erros:

importar urllib.solicitar
importar urllib.analisar
tentar:
r = urllib.solicitar.Urlopen ("https: // geekbits.io ")
impressão (r)
Exceto exceção como e:
Impressão (STR (e)


Lembre -se de que o Urlerror é uma subclasse de OSERROR. Portanto, se executarmos o código anterior sem conectividade da Internet, ele deverá devolver um urlerror da seguinte forma:

Erro de URL: erro de urlopen [errno 11001] getaddrinfo falhou

Exemplo 2: Exceção de Httperror

No exemplo a seguir, ilustramos como usar o urllb.Módulo de erro para lidar com as exceções httperror:

importar urllib.solicitar
importar urllib.analisar
tentar:
r = urllib.solicitar.urlopen ("https: // httpstat.US/403 ")
impressão (r)
Exceto exceção como e:
Imprimir (str (e))


A execução do código anterior deve retornar uma exceção httperror, pois a solicitação encontra um código de status 403.

A saída resultante é a seguinte:

Erro HTTP 403: Proibido

Conclusão

Neste post, discutimos como usar o urllib.Módulo de erro para lidar com as exceções Urlerror e Httperror.

Codificação feliz!