python - 在 python 中对 HTTPS(证书错误)进行 GET 和 PUT 操作

标签 python ssl get httprequest put

我是 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/

相关文章:

python - Heroku:将文件放入 bin 文件夹

Python - 在新列中保留接近重复行的不同值,然后删除重复项

Python Scikit Learn GMM 结果与 R Mclust 不一致

security - 何时对数据库使用 TLS

http - 为什么 TLS 允许将证书颁发给不同的子域?

ruby - 尝试使用 open-uri 在 ruby​​ 中打开 https 站点会出现 ssl 问题。我该如何解决?

php - 我找到了一个 $_GET ['var' ] == 一个 SQL 语句 - 有什么风险?

python - Flask request.args.get 获取所有参数(Python)

node.js - ECONNREFUSED, Node HTTP GET 请求

c++ - 将python字典翻译成C++