前言 在之前开发的接口中,我们设计把用户信息存储到数据库时,没有对数据进行加密处理,为了提高下安全性,我们今天就学习下,如何对用户数据进行加密加盐处理. MD5加密加盐 MD5加密 MD5是常用的一种加密方法,它具有不可逆性,也就是说它只能加密,而不能进行解密,相对较安全.如果需要在Python3中使用MD5加密,直接使用内建模块 hashlib 就行了,无需额外安装. 我们之前设置的 password 密码是明文的,比如 123456,这个是没有进行加密的,如果使用MD5加密后是这样的: im…
前言 很多想学习接口测试的同学,可能在最开始的时候,常常会因没有可以练习的项目而苦恼,毕竟网上可以练习的接口项目不多,有些可能太简单了,有些可能又太复杂了,或者是网上一些免费接口请求次数有限制,最终导致这些同学迟迟无法进行实践. 就拿我以前在练习JMeter时所用到的接口(相关链接:Jmeter接口测试实例-牛刀小试 ),因为是网上别人开发的接口,有时候经常因各种原因导致无法正常使用,于是,我就想到为什么不可以自己开发一个简单的接口项目,来满足平常的练习呢? 因为目前使用Python比较广泛,考…
今天我们继续学习如何使用Flask开发POST接口:用户注册接口和用户登录接口. request接收参数 当我们在页面发出一个POST请求,请求传到服务器时,需要如何拿到当前请求的数据呢?在Flask可以使用 request 来接收请求参数. request导入方式 from flask import request 使用 request 来接收参数的方式有多种,比如: request.form:用于接收表单参数 request.args:用于接收GET参数 request.json:用于接收J…
前言 前面的两篇文章中,我们已经学习了通过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 验证是否安装成功…
一.为什么封装 因为android 4.0 以后的发送网络请求必须要放到异步线程中,而异步线程必须跟handle合作才能更新主线程中的UI,所以建议用一个类继承handler来异步处理网络请求. 二.封装哪些功能. 首先,每次发送网络请求都需要先检测网络连接是否正常.其次需要向用户提供一个提示信息,比如ProgressDialog,然后简单粗暴的把网络请求结果设为3种:1->请求成功;2->请求失败;3->连接超时.请求成功的话就返回正确的结果,请求失败就提示网络请求失败.请求超时就询问…
根据不同的请求类型(GET/POST)进行接口请求封装 import requests import json class RunMain: def __init__(self, url, method, data=None): self.res = self.run_method(url, method, data) def send_get(self, url, data): """ 发送get请求 :param url:请求地址 :param method:类型(GET…
背景 目前创建一个后端请求接口给别人提供服务,无论是使用SpringMVC方式注解,还是使用SpringCloud的Feign注解,都是需要填写好@RequestMap.@Controller.@Pathvariable等注解和参数.每个接口都需要重复的劳动,非常繁琐.特别是服务治理框架的接口层不是springmvc,而都是通过TCP连接来做RPC通信的接口,这样的接口调试起来比较麻烦,测试人员也不能感知接口参数,压力测试的时候没得使用JMETER方便. 目的 为了解放双手,让后端服务开发人员提…
概述 如今大多App都会与网络打交道,作为开发者,合理的对网络后台请求接口进行封装十分重要.本文要介绍的就是一种常见的采用回调函数(方法)的网络接口封装,也算的是一种构架吧. 这个构架主要的idea是这样的,把所有的接口封装成一个类,在工程中随时可以调用.并且利用代理Delegate构建回调方法(callBack),工程中随处可以通过回调方法监听网络请求的反馈,也就是说,一旦得到了服务器反馈的数据,回调函数中的代码就(才)会被激活.网络请求基于AFNetworking(AFNetworking,…