Erro de E / S (erro de soquete): [Errno 111] Conexão recusada

Eu tenho um programa que usa o urllib para buscar periodicamente um URL e vejo erros intermitentes como:

Erro de E / S (erro de soquete): [Erro 111] Conexão recusada.

Funciona 90% do tempo, mas os outros 10% falham. Se tentar novamente a busca imediatamente após a falha, ela será bem-sucedida. Eu sou incapaz de descobrir por que isso é assim. Eu tentei ver se alguma porta está disponível, e eles estão. Alguma idéia de depuração?

Para informações adicionais, o rastreamento da pilha é:

File "/usr/lib/python2.6/urllib.py", line 203, in open 
    return getattr(self, name)(url)

File "/usr/lib/python2.6/urllib.py", line 342, in open_http
    h.endheaders()

File "/usr/lib/python2.6/httplib.py", line 868, in endheaders
    self._send_output()

File "/usr/lib/python2.6/httplib.py", line 740, in _send_output
    self.send(msg)

File "/usr/lib/python2.6/httplib.py", line 699, in send
    self.connect()

File "/usr/lib/python2.6/httplib.py", line 683, in connect
    self.timeout)

File "/usr/lib/python2.6/socket.py", line 512, in create_connection
    raise error, msg

Editar - Uma pesquisa no google não é muito útil, o que eu consegui com isso é que o servidor do qual estou buscando às vezes recusa conexões, como posso verificar se não é um bug no meu código e esse é realmente o caso?

questionAnswers(5)

yourAnswerToTheQuestion