gpt4 book ai didi

python - 修改 Python 代码以使用 SSL 进行 REST 调用

转载 作者:太空宇宙 更新时间:2023-11-03 15:28:14 25 4
gpt4 key购买 nike

我有 Python 代码来调用类似这样的 REST 服务:

import urllib 
import urllib2

username = 'foo'
password = 'bar'

passwordManager = urllib2.HTTPPasswordMgrWithDefaultRealm()
passwordManager .add_password(None, MY_APP_PATH, username, password)
authHandler = urllib2.HTTPBasicAuthHandler(passwordManager)
opener = urllib2.build_opener(authHandler)
urllib2.install_opener(opener)

params= { "param1" : param1,
"param2" : param2,
"param3" : param3 }

xmlResults = urllib2.urlopen(MY_APP_PATH, urllib.urlencode(params)).read()
results = MyResponseParser.parse(xmlResults)

MY_APP_PATH 当前是一个 HTTP url。我想将其更改为使用 SSL(“HTTPS”)。我将如何更改此代码以尽可能以最简单的方式使用 https?

最佳答案

不幸的是,urllib2httplib,至少在 Python 2.7 之前,在使用 HTTPS 时不做任何证书验证。结果是您正在与您未必确定的服务器交换信息(这有点像与您未验证其身份的人交换 secret ):这违背了 HTTPS 的安全目的。

请参阅 httplib (in Python 2.7) 中的这句话:

Note: This does not do any certificate verification.

(这与能够发送客户端证书的httplib.HTTPSConnection 无关:这就是它的keycert 参数为。)

有很多方法可以解决这个问题,例如:

关于python - 修改 Python 代码以使用 SSL 进行 REST 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3704405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com