python实现session

第一种,将浏览器产生的session会话保存在磁盘上的主程序。

#-*- coding:utf-8 -*-

‘‘‘

@author:cuiruiqiang

@date:2014-12-3

@filename:CountSession.py       count session‘s number

‘‘‘

import web

web.config.debug = False

urls=(

‘/‘,‘index‘,

‘/count‘,‘count‘,

‘/reset‘,‘reset‘

)

app = web.application(urls,locals())

#session is be stored on disk. 将session保存在本地磁盘上。

session = web.session.Session(app,web.session.DiskStore(‘sessions‘),

initializer={‘count‘:0})

class count:

def GET(self):

session.count += 1

return str(session.count)

class reset:

def GET(self):

session.kill()

return ""

if __name__ == "__main__":

app.run()

第二种,将浏览器session会话的信息,保存在数据库mysql中。

表结构如下:

create table sessions(

session_id char(128) UNIQUE NOT NULL,

atime  timestamp NOT NULL default current_timestamp,

data   text )

#-*-coding:utf-8 -*-

‘‘‘

@author:cuiruiqiang

@date:2014-12-03

@filename:server.py

‘‘‘

import web

web.config.debug = False

urls=(

‘/‘,‘index‘,

‘/count‘,‘count‘,

‘/reset‘,‘reset‘

)

app = web.application(urls,locals())

#session is be stored database   将session信息保存在数据库中。

db = web.database(dbn=‘mysql‘,db=‘py‘,user=‘root‘,pw=‘123456‘)

store = web.session.DBStore(db,‘sessions‘)

session = web.session.Session(app,store,initializer={‘count‘:0})

render = web.template.render(‘template/‘,globals={‘context‘:session})

class index:

def GET(self):

return render.index()

class count:

def GET(self):

session.count += 1

return str(session.count)

class reset:

def GET(self):

session.kill()

return ""

if __name__ == "__main__":

app.run()

index.html文件如下:

<!doctype html>

<html>

<head>

<title>test sessions</title>

</head>

<body>

<h1>

<span>

You are logged in as <b> $context.count </b>

</span>

</h1>

</body>

</html>>

时间: 2024-10-22 02:37:49

python实现session的相关文章

Python处理session最简单的方法

前言: 不管是在做接口自动化还是在做UI自动化,测试人员遇到的第一个问题都是卡在登录上. 那是因为在执行登录的时候,服务端会有一种叫做session的会话机制. 一个很简单的例子: 在做功能测试的时候,肯定会遇到一种测试场景,需要在没登录的时候进行一些普通操作,会提示“请先登录” 比如:我们在逛TB的时候,如果没有登录,那么当你搜索到一个商品,准备下单时候,是不是就会弹出一个登录框? 其实这就是利用到了session会话机制. 因为HTTP协议是无状态的,那么在下订单,加入购物车等场景时,服务器

python Django session/cookie

一, Cookie #cookie # def cook1(request): # print(request.COOKIES) # 查看cooke # # print(request.get_signed_cookie('k2',salt='uuu')) # rep = HttpResponse('ok') # 设置cook 必须在响应里面设置 # # rep.set_cookie('k1',123) # 普通的cooke # # rep.set_signed_cookie('k2',666,

python Cookie Session 相关用法

Cookie一.前言1.http协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响 应情况直接影响,也不会直接影响后面的请求响应情况.2.cookie产生背景; 状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留.会话中产生的数据又是 我们需要保存的,也就是说要"保持状态".3.什么是cookie? Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组

python接口测试之token&amp;session的处理(十四)

下面我们就来使用python语言来进行实现,在这里我们使用第三方的库requests,需要单独的安装下,安装的命令是: pip  install -U requests 见安装的截图: 安装成功后,如果可以在正常的导入,说明安装OK 安装好requests好后,我们就可以开始了,关于requests有不清楚的,可以看Python接口测试之requests(七),这里我们直接来进行实战, 我们再来进行回顾下我们需要做的事情,我们需要做的就是登录成功后,获取token,后面的接口都需要这个参数,所以

doraemon的python cookie和session(国庆大更新)

### 11.10 cookie和session #### 11.10.1 cookie 定义:保存在浏览器本地上的一组组键值对 为什么有cookie? - http协议是无状态的,每次http请求都是对立的,相互之间没有关联,yongcoolie保存状态 特点: 1. 由服务器让浏览器进行设置的 2. 浏览器保存在浏览器本地 3. 下次访问的时候自动携带 4. 应用场景:登录.保存浏览器习惯.简单的投票 django中操作cookie 设置: ```python ret = redirect(

python数据的存储和持久化操作

Python的数据持久化操作主要是六类:普通文件.DBM文件.Pickled对象存储.shelve对象存储.对象数据库存储.关系数据库存储. 普通文件不解释了,DBM就是把字符串的键值对存储在文件里: Python代码 % python >>> import anydbm >>> file = anydbm.open('movie', 'c') # make a DBM file called 'movie' >>> file['Batman'] =

【和我一起学python吧】Python 启航

话说万张高楼平地起,不会走之前先学会爬吧.尤其对于我等的小菜同学来说更是这样,不管怎么先code first吧,等我等小菜们翅膀硬了才test first吧. 1, 怎么运行python? 先到python.org下载python的安装文件才说吧,兄弟你慢点是org不是com小心额,当然还有中文的下载链接...!然后你就可以next,next,finish了,当让你知道这是windows平台(当然activepython也很优秀).在Linux下面可能早已经为你准备好了,我用的是Ubuntu10

python中的单元测试和数据库测试

登录测试被测试的代码逻辑 @app.route('/login', methods=['POST']) def login(): username = request.form.get('username') password = request.form.get('password') # 判断参数是否为空 if not all([username, password]): result = { "errcode": -2, "errmsg": "par

Flask的插件session、SQLAlchemy、Script、Migrate

一.flask-session 1.为什么要使用flask-session 因为flask默认的session是通过请求上下文放入到Local中的,是存在内存的,而使用flask-session可以更改session存放的位置,可以存放在redis.memcached.filesystem.mongodb.sqlalchemy等数据库中,flask-session也是基于flask原本的session原理实现的,只是让session存放的位置更改了而已. 2.使用步骤 1. 下载 pip ins