gpt4 book ai didi

python - 无法将 POST 请求从 postman 发送到使用 Flask 制作的 API

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:54 28 4
gpt4 key购买 nike

嗨,我是用 python 编写 Web API 的新手。而且我对REST的理解很有限

我有一个简单的 Flask API,它接受 python 字典 {'pdf':pdf_as_bytes, 'filename':string}

以下是我的服务器脚本:

@app.route("/predict", methods=["POST"])
def predict():
data = {"success": False}
if flask.request.method == "POST":
pdf = flask.request.files["pdf"].read()
filename = flask.request.files["filename"].read().decode("utf-8")
assert isinstance(filename, str), "Got {}".format(type(filename))
assert isinstance(pdf, bytes), "Got {}".format(type(pdf))
# further processing happens and returns a json

当我编写一个 python 客户端时,这将按预期工作:

import requests
import os

ip = "localhost"
port = 8605

url = "http://{}:{}/predict".format(ip,port)

path_to_pdf = "./617339931.pdf"

with open(path_to_pdf, "rb") as f:
pdf = f.read() # pdf is a bytes

# the payload must have the following fields: "pdf": bytes, "filename": string object
payload = {"pdf":pdf,"filename":os.path.basename(path_to_pdf).split(".")[0]}

# post request

result = requests.post(url=url, files=payload).json()

# the resulting json always has a field called as success, which returns True or False accordingly
if result["success"] == True:
print(result["data"].keys())

但是,当我使用 Postman 发送请求时,我收到 400 错误!以下是错误的屏幕截图

enter image description here

我不明白。如何更改我的服务器代码,以便它与 Postman 和 Python 客户端程序一起使用

最佳答案

我刚刚做了同样的事情,我认为这是因为你在键和值中放入了双引号,尝试将它们取出。

关于python - 无法将 POST 请求从 postman 发送到使用 Flask 制作的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55274802/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com