我有一个使用VirusTotal API的python脚本。它一直没有问题,但是当我运行脚本时突然发现以下错误:
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>
我认为可能是我们的网络代理导致了这个问题。有没有办法阻止它验证证书?以下是使用API的代码部分:
json_out = []
url = "https://www.virustotal.com/vtapi/v2/file/report"
parameters = {"resource": my_list,
"apikey": "<MY API KEY>"}
data = urllib.urlencode(parameters)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
json_out.append (response.read())
答案 0 :(得分:0)
我认为可能是我们的网络代理导致了这个问题。有没有办法阻止它验证证书?
如果您认为SSL拦截代理拒绝连接,那么您必须在代理处解决问题,即无法指示代理不从您的应用程序检查证书。
如果您认为存在SSL拦截代理,因此您收到的证书未由您信任的CA签名,那么您应该获得代理的CA并在您的应用程序中信任它(请参阅cafile
documentation中的参数。禁用验证几乎从来都不是正确的方法。而是修复它以便验证起作用。
答案 1 :(得分:0)
有两种可能性,
您可以参考这篇文章,它可能会对您有所帮助。 - https://access.redhat.com/articles/2039753