久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python - requests提交的json.dumps不能被服務器解析

瀏覽:160日期:2022-08-25 13:42:57

問題描述

背景:現有一看上去是內嵌IE應用程序A,可以做一些查詢等操作。

目的:通過借助Wireshark對應用程A的通信過程分析,借助python的requests的庫自行構造一個自己能掌控的程序B

狀況:在使用requests庫,加載json格式的POST數據,執行特定請求時,遇到對方服務器的報錯。

payload_data={'jsonstr':{'pagesize':10,'pageindex':1,'start':'2017-03-01','end':'2017-03-13','keyword':'張三','status':'0'}}r = requests.post(url, headers = headers_comm, data = json.dumps(payload_data))

Wireshark對程序A請求的偵聽:python - requests提交的json.dumps不能被服務器解析

自行構造請求時的報錯信息:python - requests提交的json.dumps不能被服務器解析

猜測這個請求的構造基本成功了,但對端應用程序解析我POST的數據時不能正常識別。嘗試過給json.dumps加, ensure_ascii=False的參數,但報錯依舊。如果這個猜測正確的話,POST數據應該怎樣正確dumps?如果這個猜測不正確,那么可能是哪里的原因?

問題解答

回答1:

data不需要json.dump,只需要將data中的jsonstr用json.dump來包括以下就可以了,應該是這樣,可以試試

回答2:

Response Code 是500,是對方反序列化時出錯了。根據exception信息,服務端因該是以下面方式進行反序列化的。

C#:

var jsonObj = (new JavaScriptSerializer()).Deserialize<IDictionary<string, string>>(jsonString);

你的payload_data格式錯了,是嵌套字典。

把payload_data改成:Python:

payload_data={'pagesize':10,'pageindex':1,'start':'2017-03-01','end':'2017-03-13','keyword':'張三','status':'0'}

就可以了。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 赞皇县| 金坛市| 鄂托克前旗| 砀山县| 岚皋县| 哈尔滨市| 隆昌县| 遂昌县| 二连浩特市| 太原市| 莲花县| 红安县| 济源市| 宾阳县| 贡觉县| 永靖县| 阿鲁科尔沁旗| 白玉县| 富锦市| 乃东县| 房产| 温泉县| 抚州市| 清涧县| 玛曲县| 涿州市| 德化县| 安顺市| 如皋市| 临颍县| 洮南市| 济阳县| 博湖县| 新津县| 巩留县| 六安市| 东安县| 德兴市| 克什克腾旗| 永安市| 长垣县|