pythone函数基础(15)接口开发初识
导入需要的第三方模块 import flask
import tools
import json,redis
import random server = flask.Flask(__name__)
#新建一个服务,把当前这个python文件当做一个服务 ip = '118.24.3.40'
password='HK139bc&*'
r = redis.Redis(host=ip,password=password,port=6379,db=10,
decode_responses=True)#连接redis @server.route('/login',methods=['get'])
def hello():
uname = flask.request.values.get('username')
pd = flask.request.values.get('passwd')
# sql = 'select * from app_myuser where username="%s"'%uname
# res = tools.my_db(sql)
key='nhy:%s'%uname
res = r.get(key)
if res:
res = json.loads(res)
if tools.my_md5(pd) == res.get('passwd'):
res = {"code":0,"msg":"登录成功!"}
else:
res = {"code":1,"msg":"密码错误!"}
else:
res = {'code':2,"msg":"用户不存在"}
return json.dumps(res,ensure_ascii=False,indent=4)
@server.route('/reg',methods=['post'])
def reg():
uname = flask.request.values.get('username')
pd = flask.request.values.get('passwd')
cpd = flask.request.values.get('cpwd')
key='nhy:%s'%uname
res = r.get(key)
if res:
res = {'code': 2, "msg": "用户已存在"}
else:
md5_password = tools.my_md5(pd)
res = {'id':random.randint(100,9999),'username':uname,'passwd':md5_password,'is_admin':1}
r.set('nhy:%s'%uname,json.dumps(res))#
res = {"code":0,"msg":"注册成功!"}
return json.dumps(res,ensure_ascii=False,indent=4) @server.route('/api/stu')
def get_stu():
username = flask.request.values.get('name')#默认get不到的话,返回的值就是None
age = flask.request.values.get('age')
if username and age:
sql = "select * from app_student where name='%s' and age='%s'" % (username, age)
elif not username and age:
sql = "select * from app_student where age='%s'" % age
elif username and not age:
sql = "select * from app_student where name='%s'" % username
else:
sql = "select * from app_student"
res = tools.my_db2(sql)
return json.dumps(res,ensure_ascii=False,indent=4) server.run(host='0.0.0.0',port=8999,debug=True)
#ip:8000/login
#127.0.0.1
pythone函数基础(15)接口开发初识的更多相关文章
- 跟我从零基础学习Unity3D开发--初识U3D
首先声明,我也是才开始学,把自己学的记录下来也供一些想要学习的朋友参考,一起努力.希望大家能给我指点一下.切莫喷我. 什么是Unity3d呢? 百度百科------Unity是由Unity Techn ...
- pythone函数基础(8)内置函数学习
内置函数学习# sorted# map# filter# max# sum# round# chr# ord# dir# bool# eval# exec# zipimport mathres = m ...
- pythone函数基础(7)第三方模块学习
一,time模块学习 import time # print(int(time.time()))#时间戳# res = time.strftime('%Y-%m-%d %H:%M:%S')#取当前格式 ...
- pythone函数基础(14)发送邮件
导入yagmail模块import yagmailusername='uitestp4p@163.com'password='houyafan123'#生成授权码,qq.163.126都是授权码 ma ...
- pythone函数基础(13)发送网络请求
需要导入urllib模块,request模块发送网络请求有两种方法 第一种方法# from urllib.request import urlopen# from urllib.parse impor ...
- pythone函数基础(12)连接Redis,写数据,读数据,修改数据
需要导入Resdis模块 import redisip = '127.0.0.1'password='123456'r = redis.Redis(host=ip,password=password, ...
- pythone函数基础(11)读,写,修改EXCEL
#读EXCEL需要导入xlrd模块---在python控制台pip install xlrd模块import xlrdbook = xlrd.open_workbook('stu3.xls')shee ...
- pythone函数基础(10)MD5加密
导入hashlib模块import hashlibs='yulin123456's.encode()#把数字转换成bytes类型m=hashlib.md5(s.encode())print(m.hex ...
- pythone函数基础(9)操作数据库连接
#操作数据库连接import pymysqlconn = pymysql.connect(host='118.24.3.40',user='jxz', password='123456',port=3 ...
随机推荐
- C语言,链表操作
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <string ...
- 使用JavaMail创建邮件和发送邮件
参考https://www.cnblogs.com/xdp-gacl/p/4216311.html,写的真好,知识在于分享,备份留着看 一.RFC882文档简单说明 RFC882文档规定了如何编写一封 ...
- 从零开始学习python:demo2.5
for 循环语句 1.单个for循环: s1 = 'Python'for s2 in s1: print(s2) ------------------------- Python ------- ...
- vue项目中如何使用多语言(vue-i18n)
因项目需要,需要使用多语言,特此记录使用方法. 第一步:安装vue-i18n npm install vue-i18n 第二步:在生成的i18n文件夹中的index.js里引入vue-i18n 第三步 ...
- react基础学习 二——生命周期
生命周期mount: mounting装载创建 update更新 unmounting卸载 错误捕获 注意点:生命周期函数的 作用,什么之后用 只有类式组件有生命周期,函数式组件没有生命周期 moun ...
- mysql 关联
自关联 设计省信息的表结构provinces id ptitle 设计市信息的表结构cityscitys表的proid表示城市所属的省,对应着provinces表的id值 id ctitle proi ...
- (20/24) webpack实战技巧:watch实现热打包和添加代码备注
在前面的学习中,我们一直使用webpack-dev-server充当(本地)服务器和完成打包任务,但是当出项目团队联合开发,共同使用一个服务器时,这时候我们需要实时进行打包以确保团队间能进行联调或者进 ...
- LeetCode 112. Path Sum 二叉树的路径和 C++
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...
- makefile中打印变量名字,方便调试
$(warning $(DVD_SERVICE)) // DVD_SerVICE是Makefile中的变量 $(warning ST40_IMPORTS is $(ST40_IMPORTS)) 变 ...
- Android APK反编译(二)
参考:APK反编译 工具介绍 apktool 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar 作用:将apk反编译成java源码(classes.dex转化成jar文件) ...