У меня сервер flask, работающий через gunicorn, и nginx, который не анализирует аргументы сообщений http. Основная проблема в том, что некоторые символы, такие как «+», не читаются.
Например, я попадаю на nginx log:
[04/May/2020:11:31:46 +0200] "GET /?action=destroy&interface=web&path=ASIA/prueba_%20+%20prueba.txt&type=file&size=5&at=2020-05-04T05:31:35-04:00 HTTP/1.1" 200 0
Затем в журнале gunicorn:
[04/May/2020:11:31:46 +0200] "GET /?action=destroy&interface=web&path=ASIA/prueba_%20+%20prueba.txt&type=file&size=5&at=2020-05-04T05:31:35-04:00 HTTP/1.0" 200 0
Но на flask, если я пытаюсь прочитать аргумент пути http-сообщения с запросами.args.get ('path'), я получаю: ImmutableMultiDict([('action', 'destroy'), ('interface', 'web'), ('path', 'ASIA/prueba_ prueba.txt'), ('type', 'file'), ('size', '5'), ('at', '2020-05-04T05:31:35-04:00')])
Итак, я получаю «prueba_ prueba.txt» вместо «prueba_ + prueba.txt» в переменной пути.
Есть ли способ избежать этого на flask?
Спасибо!