POST-запрос к flask серверу для автоматического тестирования. 400 Bad Request, KeyError 'файлы' - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь создать конечную точку с именем / automatic_testing. Эта конечная точка получит автоматический запрос POST, который будет представлять собой TXT-файл, содержащий несколько строк. Я хочу прочитать эти строки и выполнить над ними некоторые операции.

Я получаю сообщение об ошибке:

поднять исключение. Браузер (или прокси) отправил запрос, который этот сервер не может понять. KeyError: 'files'

Я использую приведенный ниже код для отправки запроса, который я запускаю из отдельного сценария.

import requests

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

Код для flask сервера

@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?

1 Ответ

1 голос
/ 16 апреля 2020

Попробуйте

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

или переберите все отправленные файлы:

    for file in request.files:
        #do_stuff
...