ValueError:检查主机名需要使用Fiddler 4的服务器主机名 [英] ValueError: check_hostname requires server_hostname using Fiddler 4

查看:19
本文介绍了ValueError:检查主机名需要使用Fiddler 4的服务器主机名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近发布的question有一些有用的答案,但与我的不同。我在一台ArcGIS Pro笔记本上运行urllib3 1.26.4和Python3.7。我还打开了Fiddler 4,因为我想在排除脚本故障时跟踪网络流量。当我打开Fiddler时,我只得到以下错误。如果我关闭Fiddler,我会得到<Response [200]>。不能在Fiddler打开的情况下使用requests模块吗?我是小提琴新手。

截断脚本:

import requests

#url
idph_data = 'https://idph.illinois.gov/DPHPublicInformation/api/covidVaccine/getVaccineAdministrationCurrent'
#headers
headers = {'user-agent': 'Mozilla/5.0'}

response = requests.get(idph_data, headers=headers, verify=True)

错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
In  [35]:
Line 4:     response = requests.get(idph_data,verify=True)

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packages
equestsapi.py, in get:
Line 76:    return request('get', url, params=params, **kwargs)

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packages
equestsapi.py, in request:
Line 61:    return session.request(method=method, url=url, **kwargs)

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packages
equestssessions.py, in request:
Line 542:   resp = self.send(prep, **send_kwargs)

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packages
equestssessions.py, in send:
Line 655:   r = adapter.send(request, **kwargs)

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packages
equestsadapters.py, in send:
Line 449:   timeout=timeout

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packagesurllib3connectionpool.py, in urlopen:
Line 696:   self._prepare_proxy(conn)

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packagesurllib3connectionpool.py, in _prepare_proxy:
Line 964:   conn.connect()

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packagesurllib3connection.py, in connect:
Line 359:   conn = self._connect_tls_proxy(hostname, conn)

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packagesurllib3connection.py, in _connect_tls_proxy:
Line 506:   ssl_context=ssl_context,

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packagesurllib3utilssl_.py, in ssl_wrap_socket:
Line 432:   ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libsite-packagesurllib3utilssl_.py, in _ssl_wrap_socket_impl:
Line 474:   return ssl_context.wrap_socket(sock)

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libssl.py, in wrap_socket:
Line 423:   session=session

File C:Program FilesArcGISProinPythonenvsarcgispro-py3libssl.py, in _create:
Line 827:   raise ValueError("check_hostname requires server_hostname")

ValueError: check_hostname requires server_hostname
---------------------------------------------------------------------------

推荐答案

我已更新到最新版本requestsv2.7.0,不再收到该错误。如果这是与我使用的2.25.1版相关的版本特定问题,我不确定。我还没有看到任何这方面的证据。

在与我的Python可执行文件相同的目录中的Windows命令提示符中:

python -m pip install requests==2.7.0

现在,如果我运行带有Fiddler捕获的原始脚本,我得到的HTTP状态为200,并且我的脚本不再向我显示该错误。

这篇关于ValueError:检查主机名需要使用Fiddler 4的服务器主机名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆