大家好,你們好嗎? 希望你們都很好。 今天我在請求中運行我的代理,但它給了我以下錯誤 ValueError: check_hostname 需要 server_hostnamePython. 因此,我在這裡向您解釋所有可能的解決方案。

不要浪費你的時間,讓我們開始這篇文章來解決這個錯誤。

ValueError: check_hostname requires server_hostname 錯誤是如何發生的?

我正在請求運行我的代理,但它給了我以下錯誤。

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

這是我的代碼

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 )

如何解決 ValueError: check_hostname requires server_hostname 錯誤?

  1. 如何解決 ValueError: check_hostname requires server_hostname 錯誤?

    解決 ValueError: check_hostname requires server_hostname 錯誤在 urllib3 版本 1.25.11 中完美運行。 所以你可以安裝 urllib3 1.25.11 按照命令行。 實際上 urllib3 代理的主要架構已更改,如果您正在使用 urllib3=1.26.4 然後按照下面的代碼。 只需運行此命令即可降級 urllib3 版本。 您可以使用 pip install urllib3==1.25.8。

解決方案一:使用 urllib3 1.25.11

在 urllib3 版本 1.25.11 中完美運行。 所以你可以安裝 urllib3 1.25.11 通過以下命令行。

pip install urllib3==1.25.11

解決方案2:urllib3 主模式改變

實際上 urllib3 代理的主要架構已更改,如果您正在使用 urllib3=1.26.4 然後按照下面的代碼。

這是更改代理架構之前的舊代碼

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 )

這是代理模式更改後的新代碼。

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

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

解決方案 3:降級 urllib3

只需運行此命令即可降級 urllib3 版本。

您可以使用 pip install urllib3==1.25.8

夏天的

都是關於這個問題的。 希望所有解決方案對您有很大幫助。 在下面評論您的想法和疑問。 另外,請在下面評論哪種解決方案對您有用?

另請閱讀