python發送post請求(帶json參數)時報錯:exception:com.alibaba.fastjson.JSONException,message:syntax error解決方法

python發送post請求(帶json參數)時報錯:exception:"com.alibaba.fastjson.JSONException","message":syntax error解決方法

使用python的requests庫,使用以下方法發送帶json參數的post請求,會出現報錯信息:

post請求的關鍵代碼:

req_body = {'apiSign':'1','appKey':'11','timestamp':1591862521} ##請求參數
response = requests.post(url=host+path,headers=HEADERS, data=req_body) ##發送post請求
print(response.text) ##將服務器返回的結果打印出來

發送post時,控制檯出現報錯信息:

exception:"com.alibaba.fastjson.JSONException","message":syntax error

出現這種問題的原因是,發送post請求時,request將參數的形式組裝成下面的方式:

"apiSign=1&appKey=11&timestamp=1591862521"

而這種參數,並不能被服務器端的fastjson識別並轉換成json格式。

要解決這個問題,需要對請求參數轉化成json格式,再發送請求。

req_body = json.dumps(req_body)

打印轉化後的請求參數,結果爲:

req_body:{"apiSign": "1", "appKey": "11", "timestamp": 1591862521}

將轉化成json格式的參數,發送請求,不再報錯

問題解決!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章