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函数

运行代码显示

Flask 接口_第1张图片

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

访问结果

Flask 接口_第2张图片

执行其它程序接口

我们写了一个爬虫程序,想要访问的时候就需要执行爬虫程序,那么就得现将爬虫程序导入进来,之后再执行函数里面调用就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模块

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

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

访问例子:

Flask 接口_第3张图片

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

你可能感兴趣的:(接口,flask,python,后端)