解决 Python requests 使用 Fiddler 抓包工具时的 “ValueError: check_hostname requires server_hostname” 错误
当使用 Python requests 库与 Fiddler 抓包工具一起使用时,有时候会遇到 “ValueError: check_hostname requires server_hostname” 错误。这个错误通常是由于请求库在与代理服务器进行通信时出现问题而引起的。在本文中,我将向您展示如何解决这个问题。
问题的根源在于 Requests 库默认使用了 SSL/TLS 协议来与服务器进行安全通信。然而,当使用 Fiddler 作为代理时,Requests 库会尝试验证 Fiddler 的 SSL 证书。由于 Fiddler 使用的是自签名证书,因此默认情况下会导致 “check_hostname requires server_hostname” 错误。
为了解决这个问题,我们可以通过禁用 SSL 证书验证来绕过这个错误。下面是一种解决方案,您可以在 Python 代码中使用它来处理这个问题:
import requests
import urllib3
# 禁用 SSL 证书验证
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWar