我正在从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 -
看起来像一些编码问题,但我无法弄清楚。任何帮助表示赞赏。
尝试为西里尔语定义字符集,尝试其中一些:
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"