Python urlopen IOError:[Erro de soquete Errno] [Errno 10060]
Pergunta
Estou procurando obter mais informações sobre IOError: [Errno socket error] [Errno 10060]
ao usar urlopen em Python 2.7.Estou usando minha conexão pessoal de Internet de 35 MB/s (sem proxy).
Tenho aberto várias páginas da Web de vários sites usando um script Python e recebo aleatoriamente esta mensagem de erro de vez em quando:
webpage = urlopen('http://www.thewebpage.com')
IOError: [Errno socket error] [Errno 10060] A connection attempt
failed because the connected party did not properly respond after a
period of time, or established connection failed because connected
host has failed to respond
Este erro apareceu após tentar abrir páginas de diferentes sites.Portanto, não parece estar relacionado exclusivamente à abertura de páginas de um determinado site.Eu também recebi esse erro usando mecanizar.
Minhas perguntas são:
- Este erro está relacionado ao fato de eu estar enviando várias solicitações para o mesmo servidor em um curto espaço de tempo?Um tempo limite reduziria a chance de ocorrer esse erro?
- Existe alguma maneira de evitá-lo?Posso usar uma instrução condicional para evitar que o script trave?
Meu script leva cerca de uma hora para ser executado e ter que executá-lo novamente devido a esse erro é bastante desagradável.
Solução
Enviar várias solicitações para o mesmo servidor em uma curta sucessão pode muito bem fazer com que o servidor não responda, pois suas solicitações podem parecer um ataque DDOS.Você pode capturar a exceção com uma cláusula try-except e tentar novamente.