Hallo Leute, wie geht es euch allen? Hoffe es geht euch allen gut. Heute führe ich meinen Proxy in Anfrage aus, aber er gibt mir den folgenden Fehler ValueError: check_hostname erfordert server_hostname in Python. Also hier bin ich Erkläre dir hier alle möglichen Lösungen.

Beginnen wir mit diesem Artikel, um diesen Fehler zu beheben, ohne Ihre Zeit zu verschwenden.

Wie tritt ValueError: check_hostname require server_hostname Error auf?

Ich führe meinen Proxy in Anfrage aus, aber er gibt mir den folgenden Fehler.

raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname

Hier ist mein Code

proxyArr ={
    'http':'http://my correct proxy here: myport',
    'https':'https://my correct proxy here: myport'
}
self.response=requests.get(url=url,headers=self.headers,proxies=proxyArr )

So lösen Sie ValueError: check_hostname benötigt server_hostname Error ?

  1. So lösen Sie ValueError: check_hostname benötigt server_hostname Error ?

    Um ValueError zu lösen: check_hostname erfordert server_hostname Error In urllib3 Version 1.25.11 funktioniert perfekt. Sie können also installieren urllib3 1.25.11 indem Sie der Befehlszeile folgen. Tatsächlich wurde urllib3, das Hauptschema des Proxys, geändert, und wenn Sie es verwenden urllib3=1.26.4 Folgen Sie dann dem folgenden Code. Führen Sie einfach ein Downgrade der urllib3-Version durch Ausführen dieses Befehls durch. Sie können pip install urllib3==1.25.8 verwenden.

Lösung 1: Verwenden Sie urllib3 1.25.11

In urllib3 funktioniert die Version 1.25.11 einwandfrei. Sie können also installieren urllib3 1.25.11 durch folgende Befehlszeile.

pip install urllib3==1.25.11

Lösung 2: urllib3 das Hauptschema geändert

Tatsächlich wurde urllib3, das Hauptschema des Proxys, geändert, und wenn Sie es verwenden urllib3=1.26.4 Folgen Sie dann dem folgenden Code.

Hier ist der alte Code, bevor das Schema des Proxys geändert wurde

proxyArr ={
    'http':'http://my correct proxy here: myport',
    'https':'https://my correct proxy here: myport'
}
self.response=requests.get(url=url,headers=self.headers,proxies=proxyArr )

Hier ist der neue Code, nachdem das Proxy-Schema geändert wurde.

proxyArr = {'https': 'http://8.88.888.8:8888'} 

self.response=requests.get(url=url,headers=self.headers,proxies=proxyArr )

Lösung 3: Downgrade von urllib3

Führen Sie einfach ein Downgrade der urllib3-Version durch Ausführen dieses Befehls durch.

Sie können verwenden pip install urllib3==1.25.8

Sommerlich

Es dreht sich alles um dieses Thema. Ich hoffe, alle Lösungen haben Ihnen sehr geholfen. Kommentieren Sie unten Ihre Gedanken und Ihre Fragen. Kommentieren Sie auch unten, welche Lösung für Sie funktioniert hat?

Lesen Sie auch