Python bug urllib2.urlopen: erreur de délai d'attente fait baisser ma connexion Internet?

StackOverflow https://stackoverflow.com/questions/3974452

  •  09-10-2019
  •  | 
  •  

Question

Je ne sais pas si je fais quelque chose de mal, mais je suis 100% sûr que c'est le script python fait baisser ma connexion Internet.

J'ai écrit un script python pour racler des milliers de fichiers d'informations d'en-tête, principalement pour Content-Length pour obtenir la taille exacte de chaque fichier, en utilisant requête HEAD.

Exemple de code:

class HeadRequest(urllib2.Request):
    def get_method(self):
        return "HEAD"

response = urllib2.urlopen(HeadRequest("http://www.google.com"))
print response.info()

La chose est au bout de quelques heures en cours d'exécution, le script commence à jeter erreur urlopen expiré, et ma connexion Internet est en baisse à partir de là. Et ma connexion Internet sera toujours revenir immédiatement après je ferme ce script. Au début, je pensais que ce pourrait être la connexion pas stable, mais après plusieurs fois en cours d'exécution, il est avéré être les scripts faute.

Je ne sais pas pourquoi, cela devrait être considéré comme un bug, non? Ou mon FAI me interdit pour faire de telles choses? (Je l'ai déjà mis le programme à attendre 10s chaque demande)

BTW, j'utilise le réseau VPN, fait-il quelque chose à voir avec cela?

Était-ce utile?

La solution

Je suppose que soit votre FAI ou fournisseur VPN vous limitatives en raison du trafic suspect à haut volume, ou votre routeur ou tunnel VPN ne se bouchent avec les connexions semi-ouvertes. Internet grand public est vraiment pas destiné à des activités de type araignée.

Autres conseils

  

"le script commence à jeter erreur urlopen a expiré"

Nous ne pouvons même pas commencer à deviner.

Vous devez recueillir des données sur votre ordinateur et inclure ces données dans votre question.

Obtenir un autre ordinateur. Exécutez votre script. Est-ce que l'accès Internet de l'autre ordinateur bloqué aussi? Ou est-il encore du travail?

  • Si les deux ordinateurs sont bloqués, ce n'est pas votre logiciel, il est votre fournisseur. Mettre à jour votre question avec ces informations, et comment vous l'avez.

  • Si seulement l'ordinateur exécutant le script est arrêté, ce n'est pas votre fournisseur, il est vos ressources OS étant épuisé. Cela est plus difficile à diagnostiquer car il pourrait être mémoire, sockets ou descripteurs de fichiers. En général, ses prises.

Vous devez trouver un logiciel de diagnostic ifconfig / ipconfig pour votre système d'exploitation. Vous devez mise à jour votre question à l'autre exactement ce que le système d'exploitation que vous utilisez. Vous devez utiliser ce logiciel de diagnostic pour voir combien de sockets ouvertes encombrent votre système.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top