Error de E / S (error de socket): [Errno 111] Conexión rechazada

Tengo un programa que usa urllib para buscar periódicamente una url, y veo errores intermitentes como:

Error de E / S (error de socket): [Errno 111] Conexión rechazada.

Funciona el 90% del tiempo, pero el 10% falla. Si vuelve a intentar la búsqueda inmediatamente después de que falla, tiene éxito. No puedo entender por qué esto es así. Traté de ver si hay puertos disponibles, y lo están. ¿Alguna idea de depuración?

Para obtener información adicional, el seguimiento de la pila es:

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: una búsqueda en Google no es muy útil, lo que obtuve es que el servidor del que estoy buscando a veces rechaza las conexiones, ¿cómo puedo verificar que no sea un error en mi código y este es el caso?

Respuestas a la pregunta(5)

Su respuesta a la pregunta