Python 调用API接口方式,通过http.client调用api接口,远程调用flask接口方式

Python 调用API接口方式,通过http.client调用api接口,远程调用flask接口方式Python调用API接口方式,通过http.client调用api接口,远程调用flask接口方式,API的构建过程详解

一、创建接口(如果调用别人的接口,跳过此条)

如果没有api,首先自己写一个接口玩一下:

必备知识:一个项目最基本的文件,接口run.py文件、config文件以及服务的主体函数文件,在这里我分别命名为run.py、config.py、service.py作为例子,当然大项目的文件要更复杂,分为多个模块,但是万变不离其宗。

run.py文件如下

# -------------------------------------------------------------------------------
# coding:utf-8
# Description:  
# Reference:
# Author: dacongming
# Date:   2022/9/5
# -------------------------------------------------------------------------------

from flask import Flask, request
import json
from service import service_function
from config import *

app = Flask(__name__)

#API_DIR接口路径,METHOD调用方法
@app.route(API_DIR, methods=METHOD)
def API_service():
    try:
        get_Data = json.loads(request.get_data())
        content = get_Data.get('content')
        result =  service_function(content)
        return json.dumps(result, ensure_ascii=False, indent=4)
    except:
        return json.dumps({'error': '此接口内部错误'}, ensure_ascii=False)

if __name__ == "__main__":
    app.run(host=IP, debug=True, port=PORT,threaded=True)

 service.py文件如下:

# -------------------------------------------------------------------------------
# coding:utf-8
# Description:  
# Reference:
# Author: dacongming
# Date:   2022/9/5
# -------------------------------------------------------------------------------

def service_function(content):
    flag_list = list()
    flag = ''
    univer_list_first_class = ["北京大学"]
    univer_list_985 = ['北京大学']
    univer_list_211 = ['北京大学']
    if content in univer_list_first_class:
        flag = '世界一流大学'
        flag_list.append(flag)
    if content in univer_list_985:
        flag = '985大学'
        flag_list.append(flag)
    if content in univer_list_211:
        flag = '211大学'
        flag_list.append(flag)
    return flag_list

config.py 文件如下:

# -------------------------------------------------------------------------------
# coding:utf-8
# Description:  
# Reference:
# Author: dacongming
# Date:   2022/9/5
# -------------------------------------------------------------------------------
import os
base_dir = os.path.split(os.path.realpath(__file__))[0]

API_DIR = '/University/Class'


IP = "0.0.0.0"
PORT = 5005
METHOD = ["POST"]

运行接口文件run.py,如下则启用成功:

Python 调用API接口方式,通过http.client调用api接口,远程调用flask接口方式 验证环节:

postman调用验证:左侧调用,右侧结果

Python 调用API接口方式,通过http.client调用api接口,远程调用flask接口方式

 二、API调用接口

python 内置模块的接口调用:

应用模块http.client

直接上代码:

# -------------------------------------------------------------------------------
# coding:utf-8
# Description:  
# Reference:
# Author: dacongming
# Date:   2022/9/5
# -------------------------------------------------------------------------------
import http.client
import json

def call_api(inputdata):
    """
    :param inputdata: 单个样本的输入参数,是字典格式的数据
    :return: 单个样本的探真查询变量结果数据
    """
    #配置参数IP,根据自己情况修改,此处为本地调用
    url = '127.0.0.1'

    # 调用接口
    connection = http.client.HTTPConnection(url,5005)#需要根据自己情况修改,5005为端口号
    headers = {'Content-type': 'application/json'}
    json_inputdata = json.dumps(inputdata)
    connection.request('POST', '/University/Class', json_inputdata, headers)
    response = connection.getresponse()
    res_dic = json.loads(response.read().decode())
    
    return res_dic

if __name__ == "__main__":
    inputdata = {"content":"北京大学"}
    result = call_api(inputdata)
    print(result)

结果:

Python 调用API接口方式,通过http.client调用api接口,远程调用flask接口方式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/36676.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注