使用Python的requests函式庫仿寫自訂web客戶端中,遇到含中文的內容提交後異常的問題。
經Fiddler查看此要求的raw,可知官方客戶端的提交內容為:
...
{"jsonstr":"{\"pageindex\":1,\"keyword\":\"张三\"}"}
而自行定義的客戶端提交內容為:
...
{"jsonstr": "{'pageindex': 1,'keyword': '\xe5\xbc\xa0\xe4\xb8\x89'"}
自行定義客戶端的腳本大概是:
# -*- coding: utf-8 -*-
keyword ='张三'
jsonstr ={ "pageindex":1,"keyword":keyword}
data = {"jsonstr":str(jsonstr)}
r = requests.post(url, data =json.dumps(data))
嘗試 data =json.dumps(data, ensure_ascii=False) 但狀況依舊。
如果keyword為數字則一切正常。
使用平台為win7.