associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "ChecarConexaoComInternet"

Diferenças entre as versões de 1 e 2
Revisão 1e 2005-08-31 23:38:05
Tamanho: 961
Comentário:
Revisão 2e 2008-09-26 14:06:44
Tamanho: 961
Editor: localhost
Comentário: converted to 1.6 markup
Nenhuma diferença encontrada!

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