gpt4 book ai didi

python - HTTPS Python 客户端

转载 作者:太空狗 更新时间:2023-10-30 00:08:16 25 4
gpt4 key购买 nike

我有一个 Tornado 服务器,它提供一个 https 连接和我用这种方式生成的自签名证书:

openssl genrsa -out privatekey.pem 1024                                         
openssl req -new -key privatekey.pem -out certrequest.csr
openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem

服务器代码如下:

import tornado.ioloop
import tornado.web
import tornado.httpserver
import os

class MainHandler(tornado.web.RequestHandler):
def get(self):
print "new client "+str(self)
self.write("Hello, world")

application = tornado.web.Application([
(r"/", MainHandler),
])


http_server = tornado.httpserver.HTTPServer(application,
ssl_options={
"certfile": os.path.join("./", "certificate.pem"),
"keyfile": os.path.join("./", "privatekey.pem"),

})

if __name__ == "__main__":
http_server.listen(443)
tornado.ioloop.IOLoop.instance().start()

我想要一个 python 客户端连接到服务器并检查服务器是否是正确的服务器(我猜是通过它的证书)。目前我做了一个像这样的简单客户端:

import httplib
HOSTNAME='localhost'
conn = httplib.HTTPSConnection(HOSTNAME)
conn.putrequest('GET','/')
conn.endheaders()
response = conn.getresponse()
print response.read()

你会建议我做什么(客户端稍后将成为移动应用程序我只使用 python 进行原型(prototype)设计)?

谢谢。

最佳答案

如果您也控制客户端(例如在 Android 或 iPhone 应用程序中),您可以将自签名证书添加到受信任的证书存储区。

解释的很好here for an Android app

关于python - HTTPS Python 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8045698/

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