首页 > 其他分享 >使用flask进行Mock Server模拟接口操作及问题解决

使用flask进行Mock Server模拟接口操作及问题解决

时间:2024-09-06 17:04:37浏览次数:12  
标签:__ flask 接口 Server 访问 Mock post 模拟

1.flask介绍

flask是一个轻量级的python web 微框架

2.Mock Server介绍

Mock Server是一个开源的模拟服务器,它可以定义和记录API交互,支持各种http方法(get、post、put、delete),可以自定义响应内容,例如返回静态文件
可以使用flask来搭建一个mock模拟服务

3.模拟接口

先安装flask
pip install flask
导入该模块:
from flask import Flask,request

1.编写flask模拟接口,写一个模拟接口的py文件:

先创建一个flask对象,__name__是一个魔术方法,用来表示当前的这个py文件(也叫模块)
app = Flask(__name__)

2.模拟一个访问网页首页的接口:

if __name__ == '__main__':
app.run(debug=True)
使用main方法来启动服务,启动服务后,会显示网页的ip地址和端口号

在上面实例中,使用@app.route('/')装饰器定义了一个根路由/(/index),当用户访问根路由时,会调用index()函数并返回字符串"这是网页的首页"

然后使用ip地址和端口号访问网页,加上代码中规定的路径就可以访问首页了,代码里面规定了两种方式(/或者"/index")都可以访问首页

3.模拟一个登录接口:

简单代码演示:

当我们使用ip地址+端口号进行访问时,提示在服务器上找不到url

解决:404:The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.问题

然后我尝试将默认的端口5000改成8899,在main函数参数上新增一个post=8899,再次访问就可以解决现这个找不到url的问题,同时报错:405 方法不被允许

解决:405 Method Not Allowed问题

出现405 方法不被允许,在网页上访问不了,F12打开控制台,发现我接口里面定义的是post方法,页面的login接口是get方法
但是使用postman发送请求是成功的,说明可能在服务器上,post方法不被允许,我们需要使用客户端来发送post方法

为了解决这个问题,我们可以通过重新编写一个登录脚本的方式来尝试解决

然后再次启动mock server服务,并且运行当前脚本,问题就解决啦,成功返回接口定义的“登录页面”信息

标签:__,flask,接口,Server,访问,Mock,post,模拟
From: https://www.cnblogs.com/tyl-bok/p/18400407

相关文章

  • Kubernetes学习指南:保姆级实操手册07——calico安装、metric-server安装
    七、Kubernetes学习指南:保姆级实操手册07——calico安装、metric-server安装一、calicoCalico是一个开源的虚拟化网络方案,支持基础的Pod网络通信和网络策略功能。官方文档:https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstart1、calico安装###在Master控......
  • 视频监控管理平台LntonAIServer视频智能分析噪声检测应用场景
    在视频监控系统中,噪声问题常常影响到视频画面的清晰度和可用性。噪声可能由多种因素引起,包括但不限于低光环境、摄像机传感器灵敏度过高、编码压缩失真等。LntonAIServer通过引入噪声检测功能,旨在帮助用户及时发现并解决视频流中的噪声问题,确保视频监控系统的稳定性和可靠性。应用......
  • 关于SqlServer中的表分区
    目录结构:什么是分区准备测试数据如何进行水平分区创建文件组创建分区函数创建分区方案创建分区表使用分区向导创建分区表秀一秀肌肉关于表分区的常用管理拆分分区合并分区查看指定数据所在的分区1.什么是分区在sqlserver中,一般情况下所有的数据都是存储到一......
  • sqlserver 用户权限设计
    一个用户拥有多个权限,下面是如何确保一个用户所有相关的权限都能被正确显示,并且每种type都会显示在查询结果中。例如,假设你有以下数据:USERS表: RolePermission表: checkItems表: 在这个示例中,userID=1对应的roleID是101,这使得查询会联......
  • SQLServer 如何收集数据以排除 SQL 死锁问题
     方案一使用SQLProfiler跟踪工具捕获死锁数据:1.登录SQLServerManagementStudio2.单击工具、SQLServerProfiler,然后进行身份验证3.单击"事件选择"选项。4.取消选择所有选项。5.单击以下两个选项: ·显示所有列 ·显示所有事件框6.展开锁。7.选择以下内容: ·死锁图 ·锁......
  • Vue配置代理(devServer)解决跨域问题
    1、作用:Vue官方文档的解释是:如果你的前端应用和后端API服务器没有运行在同一个主机上,你需要在开发环境下将API请求代理到API服务器。这个问题可以通过 vue.config.js 中的 devServer.proxy 选项来配置。通俗的说,就是为了解决跨域问题。2、用法:本篇都以axios发请......
  • fork前后创建socket对 udp server的影响
    结论:Linux上五元组关系由socket维护的(但是mac和linux表现还不一样)代码:udp-client.c#include<stdio.h>#include<string.h>#include<errno.h>#include<stdlib.h>#include<unistd.h>#include<sys/types.h>#include<sys/socket.h>#i......
  • 基于ECharts+JS+Flask 交互可视化呈现NBA近期比赛信息及球队排名及数据 | 源码分享
    目录文章|内容结语|源代码文章|内容和大家分享一个我在闲暇之余写的一个小项目。为了能够更加直观的了解近期的NBA比赛信息、球队排名以及数据,本项目采用了ECharts、JS、Flask等技术进行可视化呈现。通过这种方式,我们可以更直观的了解NBA比赛,为球迷提供更好的观赛体验......
  • Flask:Python轻量级Web框架详解
    Flask是一个用Python编写的轻量级Web应用框架。它被设计为易于使用和扩展,非常适合小型项目和微服务,同时也能够支持大型应用。Flask依赖于少量的外部库,并且提供了一个简单的方式来创建Web应用。Flask的主要特点轻量级:Flask核心非常简单,使得它易于理解和扩展。扩展性:Flask可......
  • 【SQL Server】将EXEC的变量结果赋值输出
    动态传入表名和表的某些属性,然后将标的属性赋值到参数中,以便后续使用。首先一张表(表和字段设计略),使用动态的语句如下:1DECLARE@tablenameVARCHAR(255)='BomNo'2,@idINT=13,@sqlNVARCHAR(MAX);4SET@sql='SELECTfnumber,sonFnumberFROMBomNoWHEREi......