#写一个login的接口,实现的功能是输入用户名和密码,如果数据库中有该用户,那么就去redis中插入

登陆产生的sign值插入redis中有效时间600s

import flask
import time
from flask import request,jsonfy,make_response
from conf.setting import*
from tools import MyConnect,OpRedis,md5_passwd server = flask.Flask(__name__) #把当前文件当做一个服务
@server.route("/login",["get,post"]) #定义当前接口的请求方式和路径
mysql=MyConnect(host=XXX,port=XXX,user=XXX,passwd=XXX,db=XXX)
myredis=OpRedis(host=XXX,port=XXX,password=XXX)
def login():
username = request.values.get('username','')
passwd = request.values.get('pwd','')
#values.get这种方式是XXX/login?username=888&pwd=1111的请求方式
#request.json.get("username","") 请求方式必须是json的 比如{"username":"wjx"}
if username.strip() and passwd.strip():
passwd = md5_passwd(passwd)
sql='select id,username from user where username="%s" and password="%s"'%(username,passwd)
sql_res = mysql.select_sql(sql)
if sql_res:
sign_str = username+str(int(time.time()))
sign = md5_passwd(sgn_str)
myredis.insert_redis(username,sign)
return jsonfy({"msg":"登陆成功!!!","code":""})
#下面是操作cookie的操作
# response = make_response('{"msg":"登录成功""sign":"%s","userName":"%s"}'%(sign,username))
            # response.set_cookie(username,sign)#设置cookie
# return response
        else: 

             return jsonfy({"msg":"登陆失败","code":""}) else: return jsonfy({"msg":"用户名和密码都不能为空","code":""}) 

python-接口开发flask模块(三)开发登陆接口的更多相关文章

  1. python-接口开发flask模块(一)工具类准备

    我们常常听说测试http接口.测试java接口,测试socket接口等等:那么python这么强大的语言当然也可以用来开发接口了. flask模块介绍: python中用来开发接口的模块:flask, ...

  2. python 12篇 mock接口之flask模块

    一.使用pip install flask按照flask模块. import flask,json # 轻量级web开发框架 server = flask.Flask(__name__) @serve ...

  3. mock接口开发——flask模块

    1.mock接口开发: #1.模拟没有开发好的接口,你可以模拟它,,,,,,,需要调用其他系统的接口 #2.给别人提供数据 2.步骤:1.安装pip install flask 2.导入模块--起服务 ...

  4. python运维开发常用模块(三)DNS处理模块dnspython

    1.dnspython模块介绍: dnspython(http://www.dnspython.org/)是Python实现的一个DNS 工具包,它支持几乎所有的记录类型,可以用于查询.传输并动态更新 ...

  5. python-接口开发flask模块(二)全局host配置

    设置全局变量优势很多主要是可以方便修改参数不需要每个代码单独修改,只修改host配置就可以,减少出错率,提高工作效率MYSQL_HOST = 'XXX.XXX.CCC.XXX' MYSQL_PORT ...

  6. socketserver模块三次登陆验证,身份验证

    帅爆太阳的男人 1,socketserver是解决TCP服务器和多个客户端进行通信 服务器: import socketserver class MySocket(socketserver,BaseR ...

  7. python基础练习-猜年龄、编写登陆接口小程序

    python基础练习:   一.猜年龄 , 可以让用户最多猜三次! age=40 count = 1 while count <=3 : user_guess=int(input("i ...

  8. Python练习-函数版-锁定三次登陆失败的用户

    代码如下: # 编辑者:闫龙 if __name__ == '__main__': import UserLoginFuncation LoclCount=[]; while True: UserNa ...

  9. asp:第三平台登陆

    第三平台登陆接口申请网址: http://open.51094.com/ 文档: 第三方合作登录平台使用说明 为方便更多的开发朋友,本人特将当前市面上所有支持第三方联合登录的接口集为一体,以前需要多次 ...

随机推荐

  1. drf模块分析

    drf请求模块.渲染模板.解析模块.响应模块.异常模块 请求模块 drf的请求模块 1.drf的request是在wsgi的request基础上再次封装 2.wsgi的request作为drf的req ...

  2. Python基础——函数的装饰器

    等待更新…………………… 后面再写

  3. 【leetcode389】389. Find the Difference

    异或 找不同 —.— public class Solution { public char findTheDifference(String s, String t) { char temp = 0 ...

  4. Electron 5.0 发布

    Electron 5.0的主要变化 打包应用程序现在的行为与默认应用程序相同.将创建一个默认的应用程序菜单(除非应用程序有一个),并且将自动处理全部关闭窗口的事件. (除非应用程序处理事件) 现在默认 ...

  5. python中reload(sys)作用

    python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报错UnicodeDecodeError: 'ascii' codec can't decode ...

  6. 深度学习优化器 optimizer 的选择

    网址:https://blog.csdn.net/g11d111/article/details/76639460

  7. 跨域 (1) jsonp 跨域

    jsonp 的例子 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. 【NOIP2016提高A组集训第14场11.12】随机游走

    题目 YJC最近在学习图的有关知识.今天,他遇到了这么一个概念:随机游走.随机游走指每次从相邻的点中随机选一个走过去,重复这样的过程若干次.YJC很聪明,他很快就学会了怎么跑随机游走.为了检验自己是不 ...

  9. postman—使用newman来执行postman脚本

    我们知道postman是基于javascript语言编写的,而导出的json格式的postman脚本也无法直接在服务器运行,它需要在newman中执行(可以把newman看做postman脚本的运行环 ...

  10. LeetCode - 不邻接植花

    有 N 个花园,按从 1 到 N 标记.在每个花园中,你打算种下四种花之一. paths[i] = [x, y] 描述了花园 x 到花园 y 的双向路径. 另外,没有花园有 3 条以上的路径可以进入或 ...