web-dev-qa-db-fra.com

Python3 demande ConnectionError: ('Connection aborted.', OSError ("(104, 'ECONNRESET')",)) avec une URL spécifique

Ceci est mon code.

import requests
r = requests.get('https://academic.oup.com/journals')

puis j'ai eu l'erreur ci-dessous;

ConnectionError: ('Connection aborted.', OSError("(104, 'ECONNRESET')",))

Pourquoi j'ai l'erreur? Que devrais-je faire? la demande fonctionne bien avec d'autres URL comme https://www.google.com

7
liliput

Essayez de spécifier un agent utilisateur dans l'en-tête HTTP:

❯❯❯ python3
Python 3.5.2 (default, Sep 14 2016, 11:28:32) 
[GCC 6.2.1 20160901 (Red Hat 6.2.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> headers = requests.utils.default_headers()
>>> headers['User-Agent'] = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'
>>> r = requests.get('https://academic.oup.com/journals', headers=headers)
>>> r
<Response [200]>

Assurez-vous également de suivre les règles mentionnées dans le robots.txt du site Web

10
Nehal J Wani