Проблема с кодировкой HTTP-запроса от VBA к колбе - PullRequest
1 голос
/ 14 апреля 2019

Я делаю POST-запрос от VBA, содержащий некоторые кириллические символы из Cells (1, 1), в мое приложение фляги, например:

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = "http://127.0.0.1:5000/lineList?line=" & Cells(1, 1).Value
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHTTP.send ("")

В фляге я пытаюсь вывести аргументы со следующим:

    def post(self):
        args = parser.parse_args()
        print(args)
        return "ok",200

Но тогда я получаю что-то вроде

{'line': 'Ð\x90Ñ\x80гÑ\x83менÑ\x82'}

И в консоли Python

127.0.0.1 - - [14/Apr/2019 17:10:31] "POST /lineList?line=ÐÑгÑÐ¼ÐµÐ½Ñ HTTP/1.1" 200 -

Похоже, некоторые проблемы с кодированием, но я не могу понять,,Любая помощь приветствуется.

1 Ответ

0 голосов
/ 14 апреля 2019

Попробуйте определить кодировку для кириллицы, попробуйте что-нибудь из этого:

charset=iso-8859-5
charset=koi8-r
charset=windows-1251

например:

objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded", "charset=ISO-8859-1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...