/ / urlib2 timeout - python, timeout, urllib2

timeout urllib2 - python, timeout, urllib2

Eu estou usando biblioteca urllib2 para o meu código, eu estou usando um monte de (urlopen) EDIT: loadurl

Eu tenho um problema na minha rede, quando eu estou navegando sites, às vezes meu navegador fica preso em "Conectando" a um determinado site e às vezes meu navegador retorna um tempo limite

Minha pergunta é se eu usar o urllib2 no meu código, ele pode ter tempo limite ao tentar conectar-se por muito tempo a um determinado site ou o código ficará preso nessa linha.

Eu sei que o urllib2 pode lidar com tempos limite sem especificá-lo no código, mas pode se aplicar a esse tipo de situação?

Obrigado pelo seu tempo

EDITAR:

def checker(self)
try:
html = self.loadurl("MY URL HERE")
if self.ip_ != html:
(...)
except Exeption, error:
html = "bad"

Respostas:

1 para resposta № 1

da minha pequena pesquisa, o urllib2.urlopen() função é adicionada no python 2.6

então, o problema de tempo limite deve ser resolvido enviando tempo limite personalizado para o urllib2.urlopen função. o código deve ficar assim;

response = urllib2.urlopen( "---insert url here---", None, your-timeout-value)

a your-timeout-value parâmetro é um parâmetro opcional que define o tempo limite em segundos.

EDIT: De acordo com o seu comentário, eu tenho que você não precisa do código para esperar muito tempo, então você deve ter o seguinte código para não ficar preso;

import socket
import urllib2

socket.setdefaulttimeout(10)

10 pode ser alterado de acordo com uma fórmula matemática relacionada à velocidade de conexão e ao tempo de carregamento do site.