Отправьте файл JSON в ответ на запрос, Flask - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть конечная точка, которая получает текстовый файл из запроса, который обрабатывает сервер flask, и теперь мне нужно отправить ответ, который должен быть json файлом. Я прочитал и выполнил операции с полученным TXT-файлом, и теперь, когда я отправляю dict с помощью jsonify, я получаю это в терминале.

Ответ 444 байта [200 OK]

Как получить файл json или есть какой-либо другой способ отправки файла JSON в ответ? Поскольку я не буду контролировать сервер, который будет отправлять запрос, мне нужен способ отправки JSON файла.

Код Обработка ответа

@app.route('/automated_testing', methods=['GET','POST'])
def getfile():
    if request.method == 'POST':
        for file in request.files:
            links = request.files[file].read()
            #Since a byte sized object is returned
            links = [links.decode('utf8').strip()]
            links = links[0].split("\n")

        res = dict()
        for i in links:
            f = FlarePredictor(i)
            res[i] = f[0]

        print(jsonify(res), file=sys.stderr)
        return jsonify(res)
    else:
        return "GET REQ"

    return "Hi"

Код, используемый для отправки запрос

import requests

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

1 Ответ

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

requests поддерживает JSON из коробки :

json = r.json()

Теперь json будет обычным Python словарем, содержащим данные.

...