接口开发 - cookie

mac2022-06-30  108

json_res = json.dumps(res,ensure_ascii_False) ---------字典转成 json,,res为返回的结果

res = flask.make_response(json_res)---------构造成返回结果的对象

res.set_cookie(username,session_id,600) ---------600为设置cookie 的失效时间;set_cookie 设置为cookie(cookie 为本地存储的 session)

运行后可以在web 中查看 cookie 值F12 开发者工具 -> Application -> Cookies -> 查看对应的name 和 value(name:username;vales:session_id)

 

### 下个请求调用 cookie ####

@server.route('/posts')def posts():   print(flask.request.cookies) ---------- 使用 flask.request.cookies 调用web 中存储的 cookie 值   return '111' ------ 必须有返回值,否则调用会报错

 

例:

import flask,time,jsonfrom lib import toolsserver = flask.Flask(__name__)

@server.route('/login',methods=['get'])def login():   username = flask.request.values.get('username')   pwd = flask.request.values.get('pwd')   if username == 'nhy' and pwd=='123456':     session_id = tools.my_md5(username+time.strftime('%Y%m%d%H%M%S'))     key = 'txz_session:%s'%username     tools.op_redis(key,session_id,600)     res = {'session_id':session_id,'error_code':0,'msg':'登录成功',       'login_time':time.strftime('%Y%m%d%H%M%S') } #给用户返回的信息   json_res = json.dumps(res,ensure_ascii=False) #返回结果弄成json   res = flask.make_response(json_res) #构造成返回结果的对象   res.set_cookie(key,session_id,3600) #最后的数字是cookie的失效时间。   return res

@server.route('/posts')def posts():   cookies = flask.request.cookies #所有的cokies   username = '' #   session = ''#定义这两个变量是为了,在没有传cookie的时候用的。   for key,value in cookies.items():     if key.startswith('txz_session'): #判断cookie以txz_session开头的话,取到它       username = key       session = value #调用接口的时候用户传过的seesion,从cookie里面取过来的   redis_session = tools.op_redis(username) #从redis里面获取到的的cookie   if redis_session == session: #判断传过来的seeion和redis里面的session一样     title = flask.request.values.get('title') #获取文章标题     conent = flask.request.values.get('content') #获取文章内容     article_key ='article:%s'%title #key都以article开头     tools.op_redis(article_key,conent) #把文章写入redis     res = {'msg':'文章发表成功!','code':0}   else:     res = {'msg':'用户未登录!','code':2009}

  return json.dumps(res,ensure_ascii=False)

转载于:https://www.cnblogs.com/lynn-chen/p/9036023.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)