熊猫棋牌怎么样 当前位置:首页>熊猫棋牌怎么样>正文

熊猫棋牌怎么样

发布时间:2018-12-15

原标题:基于hi-nginx的web开发(python篇)——cookie和会话管理

当天娜洁希坦带着已经是形象大变,让人绝对不会想到面前这个就是那个被通缉的百人斩战士的布兰德和垂头丧气的拉伯克去了帝都一趟,毕竟是找根据点,娜洁希坦这个夜袭的大总管当然是不得不去一趟了,当然她也是伪装过,所以也不会让人认出来。

澳门赌网站

以谷寿夫看来,只要中华门拿下来,那附近的雨花台阵地上的中国军队就失去了左翼的支撑,再加上雨花台的外围阵地均已经落入皇军之手,再猛攻一两次,估计能够在天黑之前拿下雨花台阵地,从而攻破南京城南的中国军防御!
“说点靠谱的,我说我们这里的这些人,应该怎么办?不是要你去考虑十八军的问题,整个十八军怎么样部署,轮不到我们思考的。”赵连副有些厌烦道,他越发觉得这个姓韩的排副是不是脑子受刺激了,怎么说话越来越不着边际,你一个排副考虑整个军部的战况有个屁用啊?人军部里的一个小参谋都能压死你的!

之前说话的那大汉上下打量了唐三几眼,道:“小朋友,不要闹了。快走吧。这里不安全。你这身打扮像是做铁匠的样子么?何况,我们这里也不招收你这么小的学徒工。你恐怕连铸造锤也拿不起来吧。哈哈。”

hi-nginx通过redis管理会话。

要开启管理,需要做三件事。

第一件开启userid:

        userid                  on;
        userid_name             SESSIONID;
        userid_domain           localhost;
        userid_path             /;
        userid_expires          300s;

这个功能是nginx内建的,可以直接使用。需要注意的是,hi-nginx只认识SESSIONID的userid_name。

第二件是配置redis服务器:

        hi_redis_host 127.0.0.1;
        hi_redis_port 6379;

当然,你应该先安装redis并确保它运行。

第三件是在location段开启会话管理:

    location  /  {
            hi_need_session on;
            hi_session_expires 300s;
            hi_python_script python/index.py;
    }

整个nginx配置写下来,就是:

 1 server {
 2     listen 8080;
 3     server_name localhost;
 4 
 5         userid                  on;
 6         userid_name             SESSIONID;
 7         userid_domain           localhost;
 8         userid_path             /;
 9         userid_expires          300s;
10 
11         hi_redis_host 127.0.0.1;
12         hi_redis_port 6379;
13 
14     
15     location / {
16         hi_need_cache off;
17         hi_cache_expires 5s;
18 
19         hi_need_session on;
20         hi_session_expires 300s;
21         hi_python_script python/index.py;
22     }
23 }

需要注意是,应该确保hi_session_expires和userid_expires的值保持一致。

配置写完后,记得reload或者restart nginx。

 

接下来就是使用会话管理的api了。

说来太简单,都不好意思写出来,用req.has_session,req.get_session和res.session即可:

@app.route("^/session/?$",["GET"])
def session(req,res,param):
    k="test"
    v=0
    if req.has_session(k):
        v=int(req.get_session(k))
        res.session(k,str(v+1))
    else:
        res.session(k,str(v))
    res.content("{}={}".format(k,v))
    res.status(200)

 

那么,cookie怎么办?人们使用cookie的一大用途建立会话机制。上文已经把会话管理的使用说清楚了。所以使用hi.py框架时不需要特别留意cookie的管理。当然,如果你想自己管理cookie,hi-nginx也提供req.has_cookie和req.get_cookie两个只读api。如果要写api,可以使用res.header来写。比如:

在location段中添加hi_need_cookies on

1     location / {
2         hi_need_cache off;
3         hi_cache_expires 5s;
4         hi_need_cookies on;
5         hi_need_session on;
6         hi_session_expires 300s;
7         hi_python_script python/index.py;
8     }

在操作函数中在添加相关操作:

@app.route("^/session/?$",["GET"])
def session(req,res,param):
    k="test"
    v=0
    if req.has_session(k):
        v=int(req.get_session(k))
        res.session(k,str(v+1))
    else:
        res.session(k,str(v))
    cv=v
    if req.has_cookie(k):
        cv=int(req.get_cookie(k))
        res.header("Set-Cookie","{}={};Path={};Domain={}".format(k,cv+1,"/","localhost"))
    else:
        res.header("Set-Cookie","{}={};Path={};Domain={}".format(k,cv,"/","localhost"))
    res.content("session:{0}={1},cookie:{0}={2}".format(k,v,cv))
    res.status(200)

如上所见,在hi.py中操控和管理cookie和会话是非常方便的,用来写个登陆或者购物车什么的,配合hi.py的jinja2模板引擎,简直易如反掌。

 

编辑:邓纯侯顺

发布时间:2018-12-15 09:24:53

当前文章:http://neomi.cn/house/2kdu2.html

波克棋牌游戏 不思议棋牌下载送10元 集结号娱乐中心官方网 乐乐金融官网 牛总管吧 天天棋牌是不是赌博 网上棋牌代理 熊猫齐棋乐下载

20174 35926 48716 32773 52006 5582552328 32929 22004

责任编辑:华公平成