45
votes

Pourquoi les demandes augmentent cette exception "check_hostname requiert server_hostname"?

Traceback (most recent call last):
  File "C:\Users\xyl13509876955\Desktop\Monitor\dicks.py", line 61, in send_request
    self.response=requests.get(url=url,headers=self.headers,timeout=(6,15),proxies=p)
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\adapters.py", line 449, in send
    timeout=timeout
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 696, in urlopen
    self._prepare_proxy(conn)
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 964, in _prepare_proxy
    conn.connect()
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connection.py", line 359, in connect
    conn = self._connect_tls_proxy(hostname, conn)
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connection.py", line 506, in _connect_tls_proxy
    ssl_context=ssl_context,
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\util\ssl_.py", line 432, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\util\ssl_.py", line 474, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock)
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\ssl.py", line 423, in wrap_socket
    session=session
  File "C:\Users\xyl13509876955\AppData\Local\Programs\Python\Python37\lib\ssl.py", line 827, in _create
    raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname

2 commentaires

Fournir un Exemple reproductible minimal


J'obtiens l'erreur juste en exécutant PIP3 Installer - mettre à niveau PIP


14 Réponses :


33
votes

comme un travail autour:

PIP Installer Urllib3 == 1.25.11


4 commentaires

@ scrudjay55 Cela a fonctionné! J'ai passé une journée et j'avais presque abandonné l'erreur SSL. J'ai essayé beaucoup de solutions mais rien n'a fonctionné .. Fulgy Find :) Merci! Comment avez-vous découvert le correctif?


Même erreur lors de l'exécution de "PIP installe Urllib3 == 1.25.11" ...


Cela a fonctionné pour moi. Mais je suis impatient de résoudre correctement ce problème bientôt.


J'ai dû désactiver le proxy dans les paramètres de Windows pour pouvoir rétrograder Urllib3. Ensuite, le problème a disparu même avec les paramètres de proxy actifs.



20
votes

J'ai résolu le problème. C'est un bug avec Urllib3.

Vous pouvez utiliser PIP Install UrLlib3 == 1.25.8


2 commentaires

peut confirmer que cela a fonctionné avec Python 2.7 et très utile pour mettre des exigences.txt pour s'assurer que la version est précise


Cela a résolu mon problème avec le module de demande Python 3.9.6 à l'aide de proxys, merci Kevin



7
votes

La rétrogradation d'Urllib3 l'a résolu pour moi aussi. Bien que j'ai dû réinitialiser le proxy env var: https_proxy = "http://127.0.0.1: " PIP installer ulLlib3 == 1.25.11

sans cela, j'obtenais l'erreur suivante et elle n'a pas pu dégrader UrLlib3 ( Voir sslerror installation avec pip ).

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1091)'))': /simple/pip/


3 commentaires

moi aussi. Quelle est la valeur de proxy_port?


Dépend de votre serveur proxy. Ce devrait être votre adresse proxy (pas nécessairement 127.0.0.1 comme dans mon cas) et le port.


Dans mon cas, la modification de la valeur de la variable https_proxy de HTTPS vers HTTP a résolu le problème par lui-même.



26
votes

Si je comprends bien, dans New Urllib3, le principal schéma de proxy a été changé ... peut lire ici . Ces paramètres aident pour moi (pour UrLlib3 = 1.26.4).

Un ancien

proxy={
    'http':'8.88.888.8:8888',
    'https':'8.88.888.8:8888'
    }

le nouveau

proxy={
    'https': 'https://8.88.888.8:8888',
    'http': 'http://8.88.888.8:8888',
    } 

mis à jour

J'ai à nouveau rencontré ce problème pour demandes 2.26.0 , mais en ce temps, cela fonctionne avec un ancien schéma ...

proxy={
    'http':'8.88.888.8:8888',
    'https':'8.88.888.8:8888'
    }


1 commentaires

Cela pourrait être important pour certains: github.com/conda/conda/issues/10590



5
votes

a eu le même problème sur Ubuntu 18.04 en utilisant Python 3.6.9, fouillé à travers de nombreuses pages et l'a finalement corrigé par essais et erreurs.

Le correctif modifie la variable d'environnement https_proxy . Auparavant https_proxy est https://127.0.0.1: et j'ai supprimé l'en-tête https via:

Exporter https_proxy = 127.0.0.1:

alors je peux faire python3 -m pip install - upgrader urllib3 .


1 commentaires

Merci, cela fonctionne également sous Windows, définissez https_proxy = 127.0.0.1: 3128, puis cela a fonctionné



2
votes

Sur Linux, le problème peut être résolu en remplaçant https par http dans la variable d'environnement des paramètres proxy export https_proxy = http: //123.123.123.123: 8888 . Remarque, il s'agit de paramètres proxy pour https , mais une adresse http est utilisée.


1 commentaires

Travaille pour moi! Mais pouvez-vous expliquer pourquoi?



2
votes

J'ai rencontré le même problème, la configuration proxy est activée par accident. Le simple fait de désactiver le proxy a fonctionné pour moi.


1 commentaires

J'ai dû tourner le proxy (dans les paramètres de Windows) pour pouvoir installer Urllib3 == 1.25.11 comme suggéré dans d'autres réponses. Sinon, l'installation de l'ancien Urllib3 utilisant PIP a échoué avec le même message d'erreur. Après l'installation d'Old Urllib3, le problème a disparu même avec les paramètres de proxy actifs.



6
votes

Dans mon cas, Charles ' La fonction proxy Windows a provoqué cette erreur. Après avoir fermé proxy Windows , cette erreur a disparu.


1 commentaires

Situation similaire, j'ai refusé mon "proxy système" et le problème résolu.



2
votes

Tournez votre VPN / Proxy (qui permet de proxy système) peut-être qu'il est corrigé.

J'utilisais QV2RAY et j'ai eu ce problème, quand je l'ai désactivé, Pip fonctionne bien.


0 commentaires

4
votes

Aucune des réponses ne l'a fait pour moi. Voici une solution idiote qui a résolu mon problème:

Si vous, comme moi, essayez d'installer des packages dans un environnement d'entreprise, vous avez probablement donné un proxy pour limiter les interactions avec World Wide Web, donc tout ce que vous avez à faire est d'exporter ce proxy au format HTTP et HTTP .)

Remplacez x par votre proxy IP


1 commentaires

a travaillé pour moi merci beaucoup mec;)



2
votes

N'utilisez pas le service proxy VPN et réessayez


4 commentaires

Votre réponse pourrait être améliorée avec des informations de support supplémentaires. Veuillez modifier pour ajouter plus de détails, tels que des citations ou de la documentation, afin que d'autres puissent confirmer que votre réponse est correcte. Vous pouvez trouver plus d'informations sur la façon d'écrire de bonnes réponses dans le centre d'aide .


Cela a déjà été mentionné dans d'autres réponses. Lorsque vous répondez aux questions plus anciennes qui ont déjà des réponses, assurez-vous de fournir soit une nouvelle solution ou une explication nettement meilleure que les réponses existantes.


C'est la bonne réponse !!!


Oui mais je n'ai pas voté



0
votes

J'ai eu cette erreur lorsque j'utilisais un proxy. J'ai désactivé le proxy, l'erreur a été corrigée.


0 commentaires

0
votes

Comme les autres le mentionnent, cela a quelque chose à voir avec la connexion au serveur.

Je l'ai résolu simplement en fermant le violoncule.


0 commentaires

0
votes

Pour ceux d'entre vous qui ne peuvent pas désactiver leur proxy, j'ai trouvé que la rétrogradation de Pip était la seule chose qui a fonctionné. La version qui fonctionne pour moi est située ici: https://pypi.org/project/pip/20.2.4/

Téléchargez le WHL et utilisez

pip install pip-20.2.4-py2.py3-none-any.whl

à l'emplacement où vous l'avez téléchargé.


0 commentaires