我是 python 的新手。分配给我的工作是使用 python 在其中一个产品 web ui 上执行放置和获取操作。我尝试了以下代码,
import urllib2
import ssl
try:
response = urllib2.urlopen('https://the product web ui address')
print 'response headers: "%s"' % response.info() except IOError, e:
if hasattr(e, 'code'): # HTTPError
print 'http error code: ', e.code
elif hasattr(e, 'reason'): # URLError
print "can't connect, reason: ", e.reason
else:
raise
这是一个错误:
can't connect, reason: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
该网址在通过浏览器访问时会显示证书错误。我们需要单击继续以转到 url。有人可以帮我在这样的 uri 上执行放置和获取操作吗?抱歉,如果这个问题看起来很愚蠢,谢谢您的支持。
此外,我尝试了请求。附上代码。它也给出了同样的错误
import requests
import sys
try:
r = requests.get("https://the product web ui address")
data = r.content
print r.status_code
print data
except:
print "Error Occured ",sys.exc_info()[0]
错误是:
Error Occured class 'requests.exceptions.SSLError'
最佳答案
我明白了。
import requests
import sys
try:
r = requests.get("https://web ui address",verify=False)
data = r.content
f = open('myfile.xml','w')
f.write(data)
f.close()
print "Status Code returned : " ,r.status_code
except:
print "Error Occured ",sys.exc_info()[0]
添加verify=False,解决了我的问题。现在它抛出警告但没有错误。它工作正常。
关于python - 在 python 中对 HTTPS(证书错误)进行 GET 和 PUT 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39694594/