前言 在之前开发的接口中,我们设计把用户信息存储到数据库时,没有对数据进行加密处理,为了提高下安全性,我们今天就学习下,如何对用户数据进行加密加盐处理. MD5加密加盐 MD5加密 MD5是常用的一种加密方法,它具有不可逆性,也就是说它只能加密,而不能进行解密,相对较安全.如果需要在Python3中使用MD5加密,直接使用内建模块 hashlib 就行了,无需额外安装. 我们之前设置的 password 密码是明文的,比如 123456,这个是没有进行加密的,如果使用MD5加密后是这样的: im…
今天我们继续学习如何使用Flask开发POST接口:用户注册接口和用户登录接口. request接收参数 当我们在页面发出一个POST请求,请求传到服务器时,需要如何拿到当前请求的数据呢?在Flask可以使用 request 来接收请求参数. request导入方式 from flask import request 使用 request 来接收参数的方式有多种,比如: request.form:用于接收表单参数 request.args:用于接收GET参数 request.json:用于接收J…
前言 很多想学习接口测试的同学,可能在最开始的时候,常常会因没有可以练习的项目而苦恼,毕竟网上可以练习的接口项目不多,有些可能太简单了,有些可能又太复杂了,或者是网上一些免费接口请求次数有限制,最终导致这些同学迟迟无法进行实践. 就拿我以前在练习JMeter时所用到的接口(相关链接:Jmeter接口测试实例-牛刀小试 ),因为是网上别人开发的接口,有时候经常因各种原因导致无法正常使用,于是,我就想到为什么不可以自己开发一个简单的接口项目,来满足平常的练习呢? 因为目前使用Python比较广泛,考…
前言 前面的两篇文章中,我们已经学习了通过Flask开发GET和POST请求接口,但一直没有实现操作数据库,那么我们今天的目的,就是学习如何将MySQL数据库运用到当前的接口项目中. 本人环境:Python 3.7.0 .MySQL 5.7 Flask操作MySQL的2种方式 一般情况,Flask操作MySQL比较常见的方式有2种:SQLAlchemy操作 和 SQL操作 .通过SQLAlchemy操作时,因为大多是通过数据库对象来操作,所以不需要写多少SQL语句,但为了顺便巩固一下SQL知识,…
前言 在之前我们已开发了几个接口,并且可以正常使用,那么今天我们将继续完善一下.我们注意到之前的接口,都是不需要进行任何验证就可以使用的,其实我们可以使用 token ,比如设置在修改或删除用户信息的时候需要进行 token 登录验证,这个地方我们将引入 Redis 用于存储登录时产生的 token . 本人环境:Python 3.7.0 .Redis 5.0.8 新增Redis配置 我们在项目根路径下 config 包中,修改文件 setting.py ,在该文件中配置 Redis 的服务器地…
作为测试人员,在工作或者学习的过程中,有时会没有可以调用的现成的接口,导致我们的代码没法调试跑通的情况. 这时,我们使用python中的web框架Flask就可以很方便的编写简单的接口,用于调用或调试.在之前的pytest系列文章中,已经使用过Flask编写接口用于代码调试.相比于python的另一个web框架Django,Flask编写接口要方便简单很多. 那么,接下来就告诉大家如何使用Flask编写简单的接口吧. 安装Flask 安装命令:pip install flask 验证是否安装成功…
目录 1.一些准备工作 安装django 创建django项目 创建博客应用(app) 2.models.py 3.django admin 登录 创建超级用户 4.修改urls.py 5.新增文章接口 6.查询文章接口 7.修改文章接口 8.删除文章接口 9.鉴权 鉴权接口 用户认证 1.一些准备工作 安装django pip install django 创建django项目 进入项目代码存放目录执行命令: django-admin.py startproject blog_demo 进入b…
php100:92:在线支付接口之PHP支付宝接口开发 支付接口一般是第三方提供的代收款.付款的平台,可以通过支付接口帮助企业或个人利用一切可以使用的支付方式.常见支付平台:支付宝.快钱.云网支付.财付通. 支付宝页面:订单页面.状态页面.返回页面.---->支付宝平台-->收款人账户 1.首先到支付宝申请账户:2.商家服务-->网站继承支付宝-->选择申请接口类型-->等待合同生效3.生效后下载开发集成文档. 在线申请特约商家(申请实时到账)合作者身份id:这是不会变的.交…
前面介绍了抽象方法及抽象类的用法,看似解决了不确定行为的方法定义,既然叫唤动作允许声明为抽象方法,那么飞翔.游泳也能声明为抽象方法,并且鸡类涵盖的物种不够多,最好把这些行为动作扩展到鸟类这个群体,于是整个鸟类的成员方法都可以如法炮制了.可是这种做法也带来了一些弊端,包括但不限于:1.能飞的动物不仅仅是鸟类,还有昆虫.蝙蝠等其它动物也能飞,难不成昆虫类.哺乳动物类也要自行声明飞翔方法?这么做显然产生了重复的方法定义.不然的话,要是把飞翔方法挪到更底层的动物类,一大群动物为了不沦为抽象类都得重写飞翔…
上一章,我们讲到,怎么用蓝图建造一个好的项目,今天我们继续深入.上一章中,我们所有的接口都写在view.py中,如果几十个,还稍微好管理一点,假如上百个,上千个,怎么找?所有接口堆在一起就显得杂乱无章.flask没有推荐大家在这方面的功能,通常都是由自己来实现.我们通常的做法,都是按照功能划分文件,把不同功能的应用接口,划分到不同文件,如果某个功能的接口很多,再细分一下.当然你也可以按照其他划分方式划分,只要记住一点,项目怎么管理方便,就怎么划分,千万不要被框架框死. 废话说过了,来点实际的.上…
flask开发restful api 如果有几个原因可以让你爱上flask这个极其灵活的库,我想蓝图绝对应该算上一个,部署蓝图以后,你会发现整个程序结构非常清晰,模块之间相互不影响.蓝图对restful api的最明显效果就是版本控制:而对整个项目来说,总要有后台管理系统吧,总要有web管理吧,但这些东西不能全部放到view.py.不单单是这样,如果你是一个经验丰富的程序员,你应该知道,一个程序最好只有一个入口点,从这个入口点进去,全是单向的,就像一棵树一样,入口点就在树根,然后蔓延到树干,树枝…
Flask开发初探 介绍 在日常开发中,如果需要开发一个小型应用或者Web接口,一般我是极力推崇Flask的,主要是因为其简洁.扩展性高. 从这篇文章开始,我会写一个关于Flask的系列文章,通过多个实例,由浅入深,融入自己使用Flask的心得,希望能帮助更多朋友学习Flask. 在此之前,建议你了解常见理论(包括视图.模板等),阅读Flask的官方文档,了解sqlalchemy,有一定的前端基础. 开发环境:ubuntu + Python2.7X + mysql 本系列文章代码将持续更新于my…
Flask开发系列之Flask+redis实现IP代理池 代理池的要求 多站抓取,异步检测:多站抓取:指的是我们需要从各大免费的ip代理网站,把他们公开的一些免费代理抓取下来:一步检测指的是:把这些代理通过异步请求的方式,利用这些代理请求网站:如果能正常请求就证明代理可用,如果不能正常请求就证明代理不行,这时就可以把这个代理剔除掉,异步指的是:我们不需要一直等待代理请求网站,到得到response之后在执行相应的操作就可以了,异步可以提高检测效率. 定时筛选,持续更新:我们维护一个代理池,我们需…
好久没写博客了..最近忙着工作以及新工作的事.. 看了下以前写的简单接口自动化,拿出来总结下,也算记录下学习成果 先来贴一下最后的结果,结果是写在原来的excel中 执行完毕后,会将结果写入到“状态”列: 执行通过的话,如果返回的json有message写入“response”列,如果执行失败,则会将返回的json也写入其中 前期准备: 在excel中依次填上接口.请求类型.需要传的数据.期望返回的状态码以及该接口的说明 代码如下,写的很简陋,甚至都没定义方法什么的,姑且称之为V0.1   后面…
那些年,我们开发的接口之:QQ登录(OAuth2.0) 吴剑 2013-06-14 原创文章,转载必须注明出处:http://www.cnblogs.com/wu-jian 前言 开发这些年,做过很多类型的接口.有对接保险公司的:有对接电信运营商的:有对接支付平台的:还有对接各个大小公司五花八门的接口. 最早大家用URL参数(当然现在也一直在用,因为这个最方便最轻量,并且是HTTP协议的一部分,具有高通用性):后来很多公司选择用XML来封装大一点的数据,封装数据逻辑:再后来通过接口传递的数据越来…
Flask 是一个用于 Python 的微型网络开发框架,可以用于快速的搭建一个小型的网站. 我的搜索引擎:http://www.abelkhan.com 就是基于flask开发 一个flask的Hello World from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()…
https://blog.csdn.net/hyman_c/article/details/53512109 一  current_app current_app代表当前的flask程序实例,使用时需要flask的程序上下文激活,我们以本专栏第一篇文章中写的test.py为例介绍下它的用法: 1.1 激活程序上下文 >>> from test import app >>> from flask import current_app >>> from f…
Flask的简单认识 Flask是轻量级的框架,适用于简单的程序 与Django的比较: Django: 无socket,中间件,路由,视图(CBV,FBV),模板,ORM, cookie,session,缓存,序列化,Form,信号..... flask: 无socket,中间件(需要扩展),路由,视图(CBV,FBV),第三方模板(jinja2),cookie,session Flask 的网络通信, 依赖于 werkzeug模块(实现了wsgi协议的模块 ) wsgi web 服务网关接口…
1 工具与环境 借助Eclipse4.3 + Maven3.0.3构建Java Web应用程序.使用Maven内置的servlet 容器jetty,不需手工集成Web服务器到Eclipse.还帮我们自动创建Java EE规范定义的Java Web应用程序的有效目录结构,如:WEB-INF/classes目录等,方便省心.当然Maven还有其他优秀的功能,这里不会详细介绍.pom.xml的内容可见第6小节. 接下来将介绍如果使用Spring MVC开发简单的Web应用程序,就从创建配置文件开始.…
本文转载自:http://www.cnblogs.com/pengdonglin137/p/3857724.html 基于TINY4412的Andorid开发-------简单的LED灯控制   阅读目录(Content) 一.编写驱动程序 二.编写代码测试驱动程序 三.编写HAL代码 四.编写Framework代码 五.编写JNI代码 六.编写App 参考资料: <Andriod系统源代码情景分析> <嵌入式Linux系统开发完全手册_基于4412_上册> 作者:彭东林 邮箱:p…
摘要 REST(表征性状态传输)设计风格;REST通常基于使用HTTP,URI协议和标准.使用URL标识资源,开发前后台接口.主要使用post,get方式 参考博文: http://www.cnblogs.com/artech/p/restful-web-api-02.html 维基百科:https://zh.wikipedia.org/wiki/REST 目前在三种主流的Web服务实现方案中,因为REST模式与复杂的SOAP和XML-RPC相比更加简洁,越来越多的web服务开始采用REST风格…
英语单词学习应用 周五发布的文章Flask开发天气查询软件,带你掌握pipenv的使用与手机Termux下的部署发布后,看到喜欢的人比较多.本来周末打算照着扇贝/极光单词,写一个英语单词自测工具.但苦于单词的分类和数据没找到很细致的文档,所以这个内容往后延一下. 如果大家有英语单词.音标.翻译这种根据不同年级或等级分类的数据可以共享给我,开发完成大家一起学习背单词. 成语接龙 6月高考的前一天,我发布的一篇文章,决战高考,帮你秒变成语之王,当时只是吧网站的成语爬下来保存到数据库中,文末提到有机会…
flask 开发接口测试平台 数据库,forms  views  视图, 数据库如下: # encoding: utf-8 ''' @author: lileilei @file: models.py @time: 2017/5/6 19:28 ''' from app import db import datetime from werkzeug.security import generate_password_hash,check_password_hash class User(db.M…
背景需求 EasyNVR的使用者应该都清楚的了解到,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理可以满足无插件的全平台直播.经由EasyNVR处理会获取到RTMP.HLS.HTTP-FLV视频流,这就完美解决了插件直播的问题,只要终端设备支持H5就可以完美的播放EasyNVR分发出的视频流,这也是EasyNVR成为众多互联网直播用户首选的原因. 考虑到用户使用的安全性,EasyNVR软件提供接口鉴…
Django开发简单采集用户浏览器信息的小功能 Centos环境准备 yum install –y python-pip export http_proxy=http://10.11.0.148:808 export https_proxy=https://10.11.0.148:808 pip install --upgrade pip pip install ipython 安装django Centos7环境 [root@es01 ~]# pip install Django==1.8.2…
一.需求 需要做实时数据接入的接口.数据最终要写入库,要做到高并发,数据的完整,不丢失数据. 二.技术选型 1.因为只是做简单的接口,不需要复杂功能,所以决定用flask这个简单的python框架(因为做运维的作者只会python所以只能在python框架里找): 2.要做到数据的实时性,考虑到数据落地入库可能io会延时比较大,所以决定数据通过接口先写入消息队列中间件kafka (为什么用kafka因为kafka数据是顺序写文件,效率还可以,主要是的写入文件可以保证自定义时间内的数据不丢失:ka…
Flask开发系列之Web表单 简单示例 from flask import Flask, request, render_template app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def home(): return render_template('home.html') @app.route('/signin', methods=['GET']) def signin_form(): return ren…
Flask开发系列之模板 本文对<FlaskWeb开发:基于python的Web应用开发实战>模板一节做的总结. Jinja2模板引擎 模板 模板是一个包含响应文本的文件,其中包含用占位变量表示的动态部分,其具体值只在请求的上下文中才能知道.使用真实值替代变量,再返回最终得到的响应字符串,这一过程成为渲染. Jinja2模板引擎 官网地址 Jinja2是纯python编写的模板引擎,它和Django类似提供non-XML语法,除此之外还支持内联表达式和一个可选的沙箱环境.Jinja2遵守BSD…
Flask开发系列之快速入门 文档 一个最小的应用 调试模式 路由 变量规则 构造 URL HTTP 方法 静态文件 模板渲染 访问请求数据 环境局部变量 请求对象 文件上传 Cookies 重定向和错误 关于响应 会话 消息闪现 日志记录 整合 WSGI 中间件 部署到 Web 服务器 一个最小的应用 from flask import Flask app = Flask(__name__) @app.route('/') def index(): return '<h1>Hello Wor…
前因 最近在使用flask开发一个APP的后端时出现了一些小问题.我使用sqlalchemy建立了如下多对多关系: 中间表 user_manager_group = db.Table('manage_group', db.Column('user_id', db.Integer, db.ForeignKey('users.id')), db.Column('group_id', db.Integer, db.ForeignKey('groups.id')) ) 小组 class Group(db…