web.py笔记ssl 坑爹

今天又回过神来,准备看看web.py的ssl支持

结果调了半天才出来

 

坑爹1 

中文cookbook地址 http://webpy.org/cookbook/ssl.zh-cn

英文cookbook地址 http://webpy.org/cookbook/ssl

 

中文版只给了一个例子,结果怎么也弄不出来

英文版上却了2个例子,第一个是0.37的 跟中文版那个一样,

另一个是0.36及以前的,说明0.36的可能会出exception(For version 0.36 and earlier (somewhat broken implementation, will crash on SSLException))

但是0.37版还没发布呢。。。。。

 

坑爹2 

 

用0.36版运行0.37的例子

提示 raise ImportError("You must install pyOpenSSL to use HTTPS.")

 

用0.36版运行0.36的例子

提示 找不到cherrypy,没法import

 

我是两个lib都装了

结果进入坑爹3

 

坑爹3 

 

不知道0.36这个例子的path是怎么出来的,好像也不是linux的吧

也不给个说明,我一直以为还有个lib没装,google了半天没结果,到最后重新看代码才发现这2个path有点不对劲

搜素了一下,才在python目录里找到

 

0.36修正后的例子

 

 

import web
from web.wsgiserver import CherryPyWSGIServer
from web.wsgiserver.ssl_builtin import BuiltinSSLAdapter

#ssl_cert = "path/to/ssl_certificate"
#ssl_key = "path/to/ssl_private_key"
ssl_cert = "C:/Python27/Lib/test/ssl_cert.pem"
ssl_key = "C:/Python27/Lib/test/ssl_key.pem"


CherryPyWSGIServer.ssl_adapter = BuiltinSSLAdapter(ssl_cert,ssl_key,None)


urls = ("/.*", "hello")
app = web.application(urls, globals())

class hello:
    def GET(self):
        return 'Hello, world!'

if __name__ == "__main__":
    app.run()
 

 

0.37的例子,未验证,留个记号

import web

from web.wsgiserver import CherryPyWSGIServer

CherryPyWSGIServer.ssl_certificate = "path/to/ssl_certificate"
CherryPyWSGIServer.ssl_private_key = "path/to/ssl_private_key"

urls = ("/.*", "hello")
app = web.application(urls, globals())

class hello:
    def GET(self):
        return 'Hello, world!'

if __name__ == "__main__":
    app.run()
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值