当前位置: 首页 > article >正文

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模块

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

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

访问例子:

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


http://www.kler.cn/a/132402.html

相关文章:

  • 【支持向量机(SVM)】:算法原理及核函数
  • webpack配置
  • 面向服务的软件工程——业务流程合规性(Business Process Compliance)(week12)
  • 3D Streaming 在线互动展示系统:NVIDIA RTX 4090 加速实时渲染行业数字化转型
  • 解决Spring Boot整合Redis时的连接问题
  • 【LeetCode 题】只出现一次的数字--其余数字都出现3次
  • 每天一道算法题:216. 组合总和 III
  • 【智能家居】4、智能家居框架设计和代码文件工程建立
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • 浅谈智能安全配电装置应用在银行配电系统中
  • 运行软件报错mfc140.dll丢失?分享mfc140.dll丢失的解决方法
  • Kafka中topic(主题)、broker(代理)、partition(分区)和replication(副本)它们的关系
  • Java基础笔记
  • Java将List转换为Tree数据
  • Java 12 及Tomcat 部署配置
  • docker自启与容器自启
  • SMB信息泄露的利用
  • upload-labs关卡11(双写后缀名绕过)通关思路
  • Web之CSS笔记
  • Java排序算法之希尔排序
  • 【算法】Java 算法设计模式的应用场景
  • Kafka入门教程与详解(一)
  • Git 分支管理
  • JVM判断对象是否存活之引用计数法、可达性分析
  • 最新AI创作系统ChatGPT系统运营源码+支持GPT-4多模态模型
  • 【C++】泛型编程 ⑥ ( 类模板 | 类模板语法 | 代码示例 )