Python使用Flask调用API接口的方法
作者:Meggie
使用Python的Flask框架构建API接口是一种常见的做法,因为Flask轻量级且易于使用。以下是构建一个基本Flask API接口的步骤:
1. 安装 Flask
首先,需要安装Flask。可以通过pip安装:
pip install Flask
2. 创建 Flask 应用
创建一个新的Python文件,比如 app.py,并设置一个基本的Flask应用:
以下包括两种方法:
1.Get的方法:
#get的写法 import requests from flask import Flask, jsonify, request # 实例化 flask 对象 app = Flask(__name__) #get的写法 @app.route('/test', methods=['GET']) def TEST(): return "HELLO WORLD" # 连接本地的域 if __name__ == '__main__': app.run(host='127.0.0.1', port=7800, debug=True) #如果端口被占用,可以修改port的值,保持4位数就可以了
在调用接口前,我们要检查一下几个情况:
1.检查代码是否有问题,确保所有的参数都已正确传递,包括API密钥、请求头信息等;
2.在发送请求前后打印相关信息,比如请求的URL、发送的头信息、请求体以及服务器响应的状态码和内容
3.确保网络连接是稳定的,服务器有没有问题
我们可以先对服务器进行测试:
打开浏览器,输入网址+接口,就会返回上面的结果;如果有结果,说明服务器的网络连接是没有问题了。
如果显示上面的结果,说明是API通了,但是仍然无法报出结果,那么就该检查代码的问题了。
2.Post 的方法:
优点:可以接受参数,返回我们需要的值,可以把它视为一个无需暴露代码的函数,用来封装自己的代码,就像个黑箱子一样。
#post的写法 @app.route('/ymsearch', methods=['POST']) def YMCS_search_json(): try: # 保存相关数据 运行打包的def result = request.data #如果需要用API封装函数运行的话,下面可以接运行的函数(run()),相当于函数run()在盲盒里面运行,最后只需要把上面接收的request.data 在run()返回的结果暴露出来return给调用者 except Exception as e: result = 'defeated' print(e) return result if __name__ == '__main__': app.run(host='127.0.0.1', port=7800, debug=True)
3.运行 Flask 应用
使用app.run()来启动Flask应用。如果设置debug=True,Flask会在代码改变时自动重新加载,并在出现错误时提供一个调试器。
if __name__ == '__main__': app.run(debug=True)
4.调用API接口
下面是一个使用requests库发送GET请求的简单示例:
import requests #对应上面get的api的构建 url = 'http://127.0.0.1:7800/test'# API的URL # 发送GET请求 try: response = requests.get(url) # 检查请求是否成功 if response.status_code == 200: # 连接成功后,下面是测试状态反应 print('response没有问题') response.content else: print('请求失败,状态码:', response.status_code) except requests.exceptions.RequestException as e: # 打印错误信息 print('请求出错:', e)
对于POST请求,我们需要传递额外的数据,示例如下:
#对照上面的post的服务器的构建 import requests json_url = 'http://127.0.0.1:7800/ymsearch'# API的URL # 要发送的数据 data = { 'key1': 'value1', 'key2': 'value2' } # 发送POST请求 try: response = requests.post(json_url, json=data) if response.status_code == 200: # 打印响应内容 print(response.json()) else: print('请求失败,状态码:', response.status_code) except requests.exceptions.RequestException as e: print('请求出错:', e)
如果不是本地的端口,可以用cmd查看ipconfig 的ip地址替换本地端口号(127.0.0.1)
5.部署应用(可选择)
开发完成后,可以将Flask应用部署到生产服务器上。可以使用WSGI服务器如Gunicorn,以及Nginx作为反向代理。
通过这些步骤,我们可以构建一个基本的Flask API接口。根据需要,Flask API可以扩展更多的功能,如数据库集成、用户认证、更复杂的数据处理等。
到此这篇关于Python使用Flask调用API接口的方法的文章就介绍到这了,更多相关Python Flask调用API内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!