#写一个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. windows server :远程桌面服务当前正忙,因此无法完成您尝试执行的任务

    原因是:Csrss.exe 进程和某些应用程序 (例如,Microsoft Excel 或 Microsoft Visio) 之间发生的死锁情况下会出现此问题. 解决:下载一个修复补丁,安装后重启服务 ...

  2. RSA前端加密

    昨天做了登陆模块,接触了md5&RSA加密.有点意思,talk is cheap,show me the code! 前端加密 为什么要加密 前端加密的方式 后台如何解密 1 为什么要加密? ...

  3. Tomcat网站上的core和deployer的区别

    8.5.13 Please see the README file for packaging information. It explains what every distribution(分布) ...

  4. datatable 和实体互转

    public static class ModelConvertHelper<T> where T : class,new() { public static List<T> ...

  5. C# 自定义类中括号取值 测试

    public class ABC : Hashtable{} static class Program { public static ABC a= new ABC(); static void Ma ...

  6. 【深入理解CLR】2:细谈值类型的装箱和拆箱

    装箱 总所周知,值类型是比引用类型更“轻型”的一种类型,因为它们不作为对象在托管堆中分配,不会被垃圾回收,也不通过指针来引用.但在许多情况下,都需要获取对值类型的一个实例的引用.例如,假定要创建一个A ...

  7. codevs 1020 孪生蜘蛛 x

    题目描述 Description 在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道. 根据防护中心的消息,敌方已经有一只特种飞蛾 ...

  8. sh_08_打印分隔线

    sh_08_打印分隔线 def print_line(char, times): print(char * times) print_line("hi ", 40)

  9. jQuery_完成表格的隔行换色

    表格的颜色一样不利于区分,而利用jQuery则可以很方便的进行表格的隔行换色操作,原表如下: 这样看着很不方便,但是隔行换色之后非常便捷清楚. 代码如下: <!DOCTYPE html> ...

  10. [BZOJ2669][CQOI2012]局部极小值:DP+容斥原理

    分析 题目要求有且只有一些位置是局部极小值.有的限制很好处理,但是只有嘛,嗯...... 考虑子集反演(话说这个其实已经算是超集反演了吧还叫子集反演是不是有点不太合适),枚举题目给出位置集合的所有超集 ...