尝试使用Python的XML-RPC库与服务器通信时:
import xmlrpc.client
url = 'https://12345/'
api = xmlrpc.client.ServerProxy(url)
print(api.system.listMethods())
我收到此错误:
ssl.py in match_hostname ssl.CertificateError: hostname '12345' doesn't match '*.hostname.com'
显然,我可以改变ssl.py的来源来忽略这一点,但是有更好的方法,比如我可以设置的参数等吗?
答案 0 :(得分:1)
由于显而易见的原因,xmlrpc
库中没有此类设置。因此,实现此目的的唯一方法是从ssl.py中删除验证。
注意:我正在编写一个真实世界的系统,通过HTTPS与外部提供商进行通信。但在我们能够实现它之前,我们必须使用他们的dev服务器进行测试,该服务器具有不同的主机名,因此证书错误。因此,没有安全风险,因为只使用了dev-server凭证和一些虚拟数据。