Python使用Flask调用API接口的方法

 更新时间:2024年05月23日 09:45:54   作者:Meggie  
使用Python的Flask框架构建API接口是一种常见的做法,因为Flask轻量级且易于使用,本文给大家介绍了Python使用Flask调用API接口的方法,文中通过代码示例讲解的非常详细,需要的朋友可以参考下

使用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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python基于多线程实现ping扫描功能示例

    Python基于多线程实现ping扫描功能示例

    这篇文章主要介绍了Python基于多线程实现ping扫描功能,结合实例形式分析了Python多线程与进程相关模块调用操作技巧,需要的朋友可以参考下
    2018-07-07
  • python实现的文件同步服务器实例

    python实现的文件同步服务器实例

    这篇文章主要介绍了python实现的文件同步服务器,实例分析了文件同步服务器的原理及客户端、服务端的实现技巧,需要的朋友可以参考下
    2015-06-06
  • 利用PyCharm操作Github(仓库新建、更新,代码回滚)

    利用PyCharm操作Github(仓库新建、更新,代码回滚)

    这篇文章主要介绍了利用PyCharm操作Github(仓库新建、更新,代码回滚),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Python 正则表达式(?=...)和(?<=...)符号的使用

    Python 正则表达式(?=...)和(?<=...)符号的使用

    本文主要介绍Python 正则表达式(?=...)和(?<=...)符号的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • python实现一个简单RPC框架的示例

    python实现一个简单RPC框架的示例

    本文将会使用Python实现一个最简单的RPC框架,不具有实用意义,但可以让你清醒地理解RPC框架的几个组成部分,只是比看Python自带的xmlrpc清晰。
    2020-10-10
  • Python文件读取的3种方法及路径转义

    Python文件读取的3种方法及路径转义

    这篇文章主要介绍了Python文件读取的3种方法及路径转义,本文分别给出读取文件的代码实例,最后讲解了路径转义的相关知识、小技巧,需要的朋友可以参考下
    2015-06-06
  • Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法

    Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法

    这篇文章主要介绍了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法,涉及Python中cx_Oracle模块与csv模块操作Oracle数据库及csv文件的相关技巧,需要的朋友可以参考下
    2015-05-05
  • 深入浅析python with语句简介

    深入浅析python with语句简介

    with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,这篇文章给大家介绍了python with语句简介,感兴趣的朋友一起看看吧
    2018-04-04
  • OpenCV-Python 对图像的基本操作代码

    OpenCV-Python 对图像的基本操作代码

    这篇文章主要介绍了OpenCV-Python 对图像的基本操作,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • Python的Twisted框架中使用Deferred对象来管理回调函数

    Python的Twisted框架中使用Deferred对象来管理回调函数

    当说起Twisted的异步与非阻塞模式等特性时,回调函数的使用在其中自然就显得不可或缺,接下来我们就来看Python的Twisted框架中使用Deferred对象来管理回调函数的用法.
    2016-05-05

最新评论