Checar a conexão com a Internet em Python

Publicado por Fábio Berbert de Paula em 26/10/2020

[ Hits: 12.375 ]

Blog: https://fabio.automatizando.dev

 


Checar a conexão com a Internet em Python



Dica rápida de como checar a conexão com a Internet usando Python. Para a tarefa utilizaremos o módulo requests.

O primeiro passo é instalar o módulo:

pip3 install requests

Sua sintaxe é bem simples. Vamos entrar no console do Python e testar:

python3
>>> import requests
>>> requests.get('https://www.vivaolinux.com.br')
<Response [200]>

Note que o método requests.get retorna o status code da página requisitada, neste caso o "<Response [200]>".

Se você utilizar uma URL inválida, uma exception do tipo exceptions.ConnectionError será gerada. Exemplo:

>>> requests.get('https://www.vivaolinuxAAAAAAAAA.com.br')
...
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='www.vivaolinuxaaaa.com.br', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fd99807c4e0>: Failed to establish a new connection: [Errno -2] Name or service not known'))

Com as informações que possuímos já podemos criar uma função que retorne True para conexão OK e False para falta de conexão. Utilizaremos o Google como site referência. Existe a possibilidade de falso-positivo caso sua Internet esteja OK e o Google fora do ar, mas acho que podemos conviver com isso né? kkk

import requests

def check_internet():
    ''' checar conexão de internet '''
    url = 'https://www.google.com'
    timeout = 5
    try:
        requests.get(url, timeout=timeout)
        return True
    except exceptions.ConnectionError:
        return False

E agora podemos testar a Internet invocando a função check_internet():

if not check_internet():
    print('Internet fora do ar!')
else:
    print('Internet OK!')

Até a próxima.

Outras dicas deste autor

Red Hat Lança o Red Hat Enterprise Linux v.4

Forçando quebra de linha em tabelas HTML usando PHP

Como converter vídeos para AVI sem perder qualidade

Inicialização do Sistema

Como checar se sua placa possui sinal físico de rede

Leitura recomendada

Script Python para consumir Web Services em .Net

Como validar arquivos RSS via linha de comando

Acessando o Gmail com script em Python

Instalando produtos no Plone 4

Ótimas referências sobre Python em PDF!!!

  

Comentários
[1] Comentário enviado por maurixnovatrento em 04/11/2020 - 20:38h


Porque não fez com parametro? Aí ficaria como um comando como os demais no linux.

Mas, ainda assim tá muito bom.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[2] Comentário enviado por maurixnovatrento em 04/11/2020 - 20:43h


para explicar melhor daria para fazer para testar a conexão dos sites usando parâmetros de entrada.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts