Requests中POST 請求參數中data和json的區別

最近在使用Python中Request庫的時候,很多小朋友問post請求中data和json的區別:

假如我們請求的body是json方式,請求的數據爲payload

payload = {'key1': 'value1', 'key2': 'value2'}

如果是低版本的Requests的話,我們只有使用導入json來把字典dict轉化成json:

import json

url = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}

r = requests.post(url, data=json.dumps(payload))

此處除了可以自行對 dict 進行編碼,你還可以使用 json 參數直接傳遞,然後它就會被自動編碼。這是 2.4.2 版的新加功能:

url = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}

r = requests.post(url, json=payload)

總結一下:

data:可以使用text方式和json方式(json需要轉換)

json:只能使用json方法

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