向烧瓶服务器的POST请求以进行自动测试。 400错误的请求,KeyError“文件”

问题描述 投票:0回答:1

我正在尝试创建一个名为/ automated_testing的终结点。该端点将收到自动POST请求,该请求将是一个包含一些字符串的.txt文件。我想读取这些字符串并对其执行一些操作。

我遇到错误:

引发exceptions.BadRequestKeyError(key)werkzeug.exceptions.BadRequestKeyError:400错误的请求:浏览器(或代理)发送了该服务器无法理解的请求。KeyError:“文件”

我正在使用下面的代码发送从另一个脚本触发的请求。

import requests

with open('test.txt', 'rb') as f:
    r = requests.post('http://127.0.0.1:5000/automated_testing', files={'test.txt': f})

烧瓶服务器的代码

@app.route('/automated_testing', methods=['GET','POST'])
def getfile():
    if request.method == 'POST':
        file = request.files['files']
        a = ""
        with open(file,'r') as f:
            file_content = f.read()
            a+=file_content
        return a    
    else:
        return "GET REQ"

    return "Hi"

test.txt的内容

Hi
hello

我知道该错误指示['files'],但无法解决该问题。我发送发帖请求的方式错误还是Flask服务器?

python post flask request keyerror
1个回答
1
投票

尝试

 file = request.files['text.txt']

或遍历所有已发送的文件:

    for file in request.files:
        #do_stuff
© www.soinside.com 2019 - 2024. All rights reserved.