MOMOJI.故事接龙·让我们一起讲故事,做个有故事的人

momoji.技术架构及算法

~python2/3 urllib2相关~
{ 任一段落可 [ 切到该章节 ] 进行续写接龙 }

~momoji.技术架构及算法~

选取python3为开发语言,版本python 3.7.3;

web架构为pyramid;

数据库访问采用sqlalchemy;

使用jinja2模板,也提供api,但非完全前后端分离;

前端使用了echarts2;

考虑该站点依靠iis挂了几个应用,80端口已占就用iis做了application request routing 和 url rewrite,后续考虑换为nginx;

数据库mysql,版本mysql 8.0.16.0;后续考虑换位文件系统;

存储结构具有为单父属性的节点,即tree或者multi-tree;但最终实现可成环的有向图,非dag(因为有向且成环);

momoji.技术架构及算法 by 飞~甜 @ 2019-06-11 14:56:51

切到该章 收藏 从此续写

~坑~

记录一下开发部署过程踩过的坑.

坑 by 飞~甜 @ 2019-06-25 11:32:39

切到该章 收藏 从此续写

~python2/3 urllib2相关~

对接qq互联平台,选择一个开源的python oauth项目:

https://gitee.com/objcc/connect-python-sdk-oauth2-for-qq

是基于python2的,其中http协议访问:

fd = urllib2.urlopen(url, data=data, timeout=timeout)

会报错,需要换成python3下支持的:

fd = urllib.request.urlopen(url, data=data, timeout=timeout)

另,在Python 2.7.9 之后引入了一个新特性,当使用urllib.urlopen一个 https 的时候会验证一次 SSL证书;当目标使用的是自签名的证书时就会报urllib.error.URLError错误,需要在调用urlopen前调用一下这个:

ssl._create_default_https_context = ssl._create_unverified_context

最终是这样的:

            #fd = urllib2.urlopen(url, data=data, timeout=timeout)

            ssl._create_default_https_context = ssl._create_unverified_context

            fd = urllib.request.urlopen(url, data=data, timeout=timeout)

python2/3 urllib2相关 by 飞~甜 @ 2019-06-25 11:43:53

切到该章 收藏 从此续写

last by 飞~甜 @ 2019-06-25 11:43:53

章节模式 复制地址