Python Demandes d'arriver ("Connexion interrompue.', BadStatusLine(“"”,)) erreur
def download_torrent(url):
fname = os.getcwd() + '/' + url.split('title=')[-1] + '.torrent'
try:
schema = ('http:')
r = requests.get(schema + url, stream=True)
with open(fname, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
f.flush()
except requests.exceptions.RequestException as e:
print('\n' + OutColors.LR + str(e))
sys.exit(1)
return fname
Dans ce bloc de code, j'obtiens une erreur lorsque je lance le script complet. Quand je vais à télécharger le torrent, j'obtiens:
('Connection aborted.', BadStatusLine("''",))
J'ai seulement posté le bloc de code qui je pense est pertinent ci-dessus. Le script complet est ci-dessous. C'est à partir de pantuts, mais je ne pense pas que c'est maintenu plus longtemps, et je suis en train d'essayer de le faire fonctionner avec python3. D'après mes recherches, l'erreur peut dire que je suis à l'aide de http au lieu de https, mais j'ai essayé les deux.
Pourriez-vous fournir un exemple d'url où ce qui se passe?
Le code que vous avez collé manque un
hmm. Le script lors de l'exécution de ne pas me donner l'url juste le torrent de nom donc je ne peux pas poster un exemple d'url. Je viens de recherche pour l'apprentissage de python et sélectionné le premier torrent. Je ne suis pas sûr de ce que tu veux dire par l'absence d'un essai. Pouvez-vous développer? Merci pour votre aide.
L'extrait de code que vous avez collé a un
Bonne prise j'ai manqué. J'ai pris quand j'ai pris le lien de stackoverflow pour garder la maison propre. Le code réel, je suis en cours d'exécution a l'essayer: en bien et j'obtiens toujours la même badstatusline erreur malheureusement
Le code que vous avez collé manque un
try
. J'ai une autre erreur: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))
Espère un plus descriptif erreur, vous aide.hmm. Le script lors de l'exécution de ne pas me donner l'url juste le torrent de nom donc je ne peux pas poster un exemple d'url. Je viens de recherche pour l'apprentissage de python et sélectionné le premier torrent. Je ne suis pas sûr de ce que tu veux dire par l'absence d'un essai. Pouvez-vous développer? Merci pour votre aide.
L'extrait de code que vous avez collé a un
except
, mais pas un try
. Il ressemble au code dans votre dépôt github ne bien que. J'ai mis en évidence la ligne que je me réfère ici: github.com/pantuts/asskick/blob/master/asskick.py#L42Bonne prise j'ai manqué. J'ai pris quand j'ai pris le lien de stackoverflow pour garder la maison propre. Le code réel, je suis en cours d'exécution a l'essayer: en bien et j'obtiens toujours la même badstatusline erreur malheureusement
OriginalL'auteur eurabilis | 2015-10-16
Vous devez vous connecter pour publier un commentaire.
L'erreur que vous indique l'hôte ne répond pas de la manière attendue. Dans ce cas, c'est parce que il détecte que vous êtes en train de racler et délibérément déconnecter vous.
Si vous essayez de votre
requests
code avec l'URL d'un site web de test:http://mirror.internode.on.net/pub/test/5meg.test1
, vous verrez qu'il télécharge normalement.Pour contourner ce problème, faux votre l'agent utilisateur. Votre agent utilisateur identifie votre navigateur web, et les hôtes de sites web fréquemment vérifier pour détecter les bots.
Utiliser le
headers
champ pour définir votre agent utilisateur. Voici un exemple qui raconte l'hébergeur que vous êtes Firefox.Il y a beaucoup d'autres divergences1 entre les robots et les humains-exploité les navigateurs web les hôtes peuvent vérifier, mais l'agent utilisateur est l'un des plus faciles et les plus fréquentes.
Si vous voulez que votre grattoir pour être difficiles à détecter, vous aurez envie d'utiliser un navigateur sans comme headless Chrome2 (ou ghost.py si vous voulez coller avec Python), à qui vous pouvez faire confiance va se comporter comme un vrai navigateur (car c'en est une!).
Notes de bas de page:
1d'autres vérifications de l'vérifie si les images ne sont pas téléchargées, les ressources de page ne sont pas téléchargés dans l'ordre normal, les pages en cours de téléchargement plus rapide qu'un humain puisse les lire, et les cookies ne pas définies correctement. Google drapeaux des mouvements de la souris jugé insuffisamment humaine.
2Headless Chrome est le plus compétent navigateur sans en 2018, mais si son poids est un problème pour vous, son légèrement dépassées prédécesseurs, PhantomJS et ghost.py, sont un poids plus léger et encore utilisable.
OriginalL'auteur sorbet
Dans mon cas, je dois supprimer l'agent de l'utilisateur les champs des en-têtes
une fois que j'ai mis
'User-Agent'
, il se('Connection aborted.', BadStatusLine("''",))
et cette erreur se produit uniquement avec un site individuel.
mon premier post,je reçois beaucoup d'aide de ce site, j'espère que ça peut aider d'autres personnes qui trouvent ici
OriginalL'auteur M.ison