Receita: Checar Conexão com Internet
Para testar a conexão com a internet, testo a conexão com 3 hosts que eu diria ser confiáveis. Se alguma conexão for bem sucedida, suponho que a conexão está ativa.
Adaptada de um script da lista python-brasil. Não lembro o autor da versão original... Sorry =(
Código
1 import socket
2
3 confiaveis = ['www.google.com', 'www.yahoo.com', 'www.bb.com.br']
4
5 def check_host():
6 global confiaveis
7 for host in confiaveis:
8 a=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
9 a.settimeout(.5)
10 try:
11 b=a.connect_ex((host, 80))
12 if b==0: #ok, conectado
13 return True
14 except:
15 pass
16 a.close()
17 return False
Exemplo de uso
1 print check_host() and "Conexão Ativa" or "Conexão Inativa"
Volta para CookBook.
João Paulo Fernandes Farias