Pular para o conteúdo

Checar a conexão com a Internet em Python

Dica publicada em Python / Internet
Fábio Berbert de Paula fabio
Hits: 13.248 Categoria: Python Subcategoria: Internet
  • Indicar
  • Impressora
  • Denunciar

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.

Renomear arquivos ou diretórios iniciados por "-"

Como testar a velocidade da Internet via linha de comando

Emulador de terminal no Vim

Solução para tamanho da fonte das legendas no Totem

Emulador de Terminal "Bombado" no Vim

Como validar arquivos RSS via linha de comando

Try Python: Interpretador Python online

Programando páginas da Web com Python

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

Servidor de compartilhamento HTTP

#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.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento
#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.

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

Contribuir com comentário

Entre na sua conta para comentar.