Flask 接口

目录

前言

代码实现

简单接口实现

执行其它程序接口

携带参数访问接口


前言

有时候会想着开个一个接口来访问试试,这里就给出一个基础接口代码示例


代码实现

导入Flask模块,没安装Flask 模块需要进行

安装:pip install flask 

使用镜像安装: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask

from flask import Flask

简单接口实现

这里是一个简单的接口代码

from flask import Flask
app = Flask(__name__)

@app.route('/crawl', methods=['post'])
def crawl():
    result = '这个是自己的一个接口'
    print(result)
    return result  # 返回一个响应给请求方


if __name__ == '__main__':
    app.run()
  • app.run() : 运行接口代码
  • @app.route('/crawl', methods=['post']) : 支持post 访问接口,执行crawl 函数
  • Flask(__name__):使用Flask框架创建一个Flask应用程序的实例

其中'crwl'是接口访问路径,访问这个接口之后就会调用的函数,也就是他是什么,就会调用相对应的函数。若改为xxx 那么就会调用名为xxx函数

运行代码显示

这个访问的url 是自己的本地IP以及默认接口:http://127.0.0.1:5000/crawl

访问结果

执行其它程序接口

我们写了一个爬虫程序,想要访问的时候就需要执行爬虫程序,那么就得现将爬虫程序导入进来,之后再执行函数里面调用就ok啦

直接上代码

from flask import Flask
from HeX import Hexin
app = Flask(__name__)

@app.route('/crawl', methods=['post'])
def crawl():
    result = Hexin.get_data()
    print(result)
    return result  # 返回一个响应给请求方


if __name__ == '__main__':
    app.run()

其中,Hexin.get_data() 是自己爬虫程序,这里就不展示访问结果

携带参数访问接口

上代码

from flask import Flask, request, jsonify
from res import Hexin

app = Flask(__name__)


@app.route('/crawl', methods=['POST'])
def crawl():
    param_value = request.form.get('page')
    result = Hexin(page=param_value).get_data()
    return jsonify(result)

@app.route('/crawl', methods=['GET'])
def crawl():
    param_value = request.form.get('page')
    result = Hexin(page=param_value).get_data()
    return jsonify(result)


if __name__ == '__main__':
    app.run(port=55317, host='0.0.0.0') 

  • port: 访问端口 ,介于 1 到 65535 之间的整数

当post设置为0时候,Flask会随机性给你配置一个未被占用端口

  • host='0.0.0.0': 这里是设置访问接口IP为自己的IP

比如说我的IP地址是192.168.26.178,那么开的接口就是:192.168.26.178:端口号/crawl

  •  request.form.get('page') : 获取到访问者携带参数中page变量

需要访问者自己携带一个page变量参数,需要携带什么可以自己定义

  • jsonify(result) :将字符串转为json 格式数据,类似Python 中json模块

当然了需要携带参数,这个直接使用浏览器访问,是访问不了的,因为他没携带参数

这里就可以自己写代码访问就行

访问例子:

访问接口一般在执行之后都能看到,参照上面简单接口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/161611.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

腾讯云服务器怎么样好用吗?腾讯云服务器性能评测

近年来,腾讯云作为一家领先的云服务提供商,备受关注。尤其是最近两年,腾讯云在优惠活动上的力度非常大,被誉为良心云。其优惠政策吸引了越来越多的用户选择腾讯云作为他们的云服务提供商。 腾讯云双十一领9999代金券 https://111…

GamingTcUI.dll丢失修复,最全面的GamingTcUI.dll修复指南

热衷于电脑游戏的用户可能会在启动游戏时遇到这样的错误信息:"无法启动应用,因为找不到GamingTcUI.dll"。那么这个GamingTcUI.dll文件是什么?如何解决这个问题呢?我们将在本文中进行详细讲解。 一.GamingTcUI.dll是什么…

Activiti,Apache camel,Netflex conductor对比,业务选型

Activiti,Apache camel,Netflex conductor对比,业务选型 1.activiti是审批流,主要应用于人->系统交互,典型应用场景:请假,离职等审批 详情可见【精选】activti实际使用_activiti通过事件监听器实现的优势_记录点滴…

OSS服务和MinIO存储做一个区分解析

日落金山,明天我们继续… 什么是OSS服务和MinIO存储 OSS(Object Storage Service)和MinIO都是对象存储服务,但它们有一些区别。以下是对它们的简要分析: 1. 部署和管理: OSS: 由阿里云提供&a…

Leetcode—141.环形链表【简单】

2023每日刷题(三十三) Leetcode—141.环形链表 快慢指针算法思想 关于快慢指针为什么能检测出环,可以这么思考。 假设存在一个环: 慢指针进入环后,快指针和慢指针之间相距为d,每一次移动,d都会缩小1&…

C++模版初阶

泛型编程 如下的交换函数中,它们只有类型的不同,应该怎么实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;left right;right temp; }void Swap(double& left, double& right) {double temp…

软件工程师参加技术峰会,带来的价值,你想象不到!

参加技术大会是软件开发人员了解行业最新技术和未来发展趋势的重要途径。 在技术大会上,来自世界各地的专家、学者和企业代表会分享他们的最新研究成果、技术创新和趋势分析。这对于软件开发人员来说,是一个宝贵的学习机会,可以帮助他们拓宽…

【STM32】DMA(直接存储器访问)

一、DMA本质 在ADC中使用FIFO(先进先出),当FIFO快满的时候,产生一个中断。在中断的时候将数据传输到SRAM,但是此时还是需要CPU的参与,但是CPU就不会一直在等待。【但是这个方法还是不能完全解决问题】 此时…

josef约瑟 时间继电器 ST3PA-A AC220V 带插座PF085A

ST3P系列时间继电器适用于交流50Hz或60Hz,额定电压380V及以下或直流24V的控制电路中作廷时元件,按预定的时间接通或分断电路。具有体积小,精度高,延时范围宽,可与JSZ3系列继电器等同互换使用。 系列型号 ST3PF-2Z(JSZ3F-2Z) 5s AC110V ST3PF(JSZ3F) 10s AC48V ST3PC-1(AH3-3)…

循环队列(出队、入队、判空、长度、遍历、取头)(数据结构与算法)

循环队列 涉及到移动、赋值原队列参数的函数参数列表如front,rear,都最好别用&引用,否则会修改原队列中的地址和数值如:SqQueue &Q 使用SqQueue Q作参数列表时,函数引入的只是一份副本,不会修改原队…

Jenkins持续集成

1. 持续集成及Jenkins介绍 1.1. 软件开发生命周期 软件开发生命周期又叫做SDLC(Software Development Life Cycle),它是集合了计划、开发、测试和部署过程的集合。如下图所示 : 需求分析 这是生命周期的第一阶段,根据…

文件加密软件哪个好用丨真心推荐丨良心建议

在保护企业文件和数据方面,文件加密软件是一种非常重要的工具。以下是我推荐好用的文件加密软件,以及我的良心建议。 一、WinRAR。WinRAR是一款免费的文件压缩和解压缩工具,同时也提供了强大的文件加密功能。使用WinRAR可以轻松地加密文件夹和…

Selenium安装WebDriver(含116/117/118/119)

1、确认浏览器的版本 在浏览器的地址栏,输入chrome://version/,回车后即可查看到对应版本 2、找到对应的chromedriver版本 2.1 114及之前的版本可以通过点击下载chromedriver,根据版本号(只看大版本)下载对应文件 2.2 116版…

Kubernetes1.28.X 集群安装

1、环境准备 准备2台虚拟机,安装集群一律使用内网ip通信,相关配置文件一律配置内网ip。 ip别名用途192.168.0.193kubernetes-master.openlab.cn主节点,harbor仓库192.168.0.194kubernetes-work.openlab.cnwork节点 hostnamectl set-hostna…

为关键信息基础设施安全助力!持安科技加入关保联盟

近日,中关村华安关键信息基础设施安全保护联盟发布了其新一批的会员单位,零信任办公安全代表企业持安科技成功加入,与联盟企业共同为关键信息基础设施提供各类支撑和保障。 中关村华安关键信息基础设施安全保护联盟由北京市科学技术委员会、中…

FISCO BCOS 3.0【02】配置和使用系统自带的控制台

官方技术文档:https://fisco-bcos-doc.readthedocs.io/zh-cn/latest/index.html 我们在官方技术文档的基础上,进行,对文档中一些不清楚的地方进行修正 控制台提供了向FISCO BCOS节点部署合约、发起合约调用、查询链状态等功能。 第一步. 安…

竞赛选题 疲劳驾驶检测系统 python

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 优质竞赛项目系列&#x…

客户端性能优化实践

背景 双十一大促时,客户客服那边反馈商品信息加载卡顿,在不断有订单咨询时,甚至出现了商品信息一直处于加载状态的情况,显然,在这种高峰期接待客户时,是没法进行正常的接待工作的。 起初,页面一…

webpack 中,filename 和 chunkFilename 的区别

filename filename 是一个很常见的配置,就是对应于 entry 里面的输入文件,经过webpack打包后输出文件的文件名。比如说经过下面的配置,生成出来的文件名为 index.min.js。 chunkFilename chunkFilename 指未被列在 entry 中,却…