Web3.py HTTPProvider请求SSL证书

时间:2018-08-01 20:26:31

标签: r https ethereum web3 reticulate

环境:
企业防火墙

问题:
致电

w3 = Web3(Web3.HTTPProvider("https://ropsten.infura.io/v3/API_KEY"))

web3.py中,使用

的防火墙将阻止该请求
SSLError("Can't connect to HTTPS URL because the SSL module is not available.")

尝试:

Web3(Web3.HTTPProvider("https://ropsten.infura.io/v3/API_KEY", 
                       request_kwargs={'cert': "CERTIFICATE.pem"})) 

应该根据python请求文档解决问题。但是,此问题仍然存在。

问题:
我的尝试有什么错误吗?有没有办法停用SSL证书?

1 个答案:

答案 0 :(得分:0)

相关消息是:

  

由于SSL模块不可用,无法连接到HTTPS URL。

您计算机上的Python无法访问SSL模块(可能是OpenSSL)。

其他人通常在自定义OS环境中遇到此问题,这在公司计算机上很常见: https://github.com/requests/requests/issues/3482

他们的建议是:

  

您需要与构建Python安装程序的任何人联系。如果是您,那么您需要检查Python文档,因为您没有针对OpenSSL进行链接。


请注意,这不是Web3特定的问题,也不是以太坊特定的问题。我也希望这会因相同的错误而失败:

import requests
requests.get('https://www.google.com')

  

是否可以停用SSL证书?

纯文本连接将允许任何人查看您的流量。出于多种安全和隐私原因,让SSL正常运行是很明智的。