res = requests.get(url, headers=headers, verify=False)
File "D:\flask_env\spider_env\lib\site-packages\urllib3\connection.py", line 506, in _connect_tls_proxy
ssl_context=ssl_context,
File "D:\flask_env\spider_env\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 "D:\flask_env\spider_env\lib\site-packages\urllib3\util\ssl_.py", line 474, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock)
File "e:\python37\lib\ssl.py", line 412, in wrap_socket
session=session
File "e:\python37\lib\ssl.py", line 810, in _create
raise ValueError("check_hostname requires server_hostname")
ValueError: check_hostname requires server_hostname
遇到这样的报错基本上就是以下几种情况
1、检查是否开启的科学上网,如果开启了,关闭科学上网后就可以正常返回结果
2、检查是否开启了抓包工具,如果开启了抓包工具,也会产生上面的错误,可以关闭抓包工具进行请求,如果需要开启抓包工具进行请求的话,可以使用下面的方式尽情请求,加上代理后一般可以正确返回结果
response = requests.get(url, proxies={"http": "http://127.0.0.1:抓包工具配置的端口", "https":"http:127.0.0.1:抓包工具配置的端口"},headers=headers, verify=False)
3、有可能是requests包版本太高导致,使用pip install -i https://pypi.douban.com/simple requests==版本号进行降级安装既可以
以上就是处理check_hostname 异常的常用解决办法,欢迎留言交流