从VBA到烧瓶的HTTP请求编码问题

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

我正在从VBA发出POST请求,其中包含一些来自Cell(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 -

看起来像一些编码问题,但我无法弄清楚。任何帮助表示赞赏。

python excel vba flask character-encoding
1个回答
0
投票

尝试为西里尔语定义字符集,尝试其中一些:

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

e.g:

objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded", "charset=ISO-8859-1"
© www.soinside.com 2019 - 2024. All rights reserved.