欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中Requests發(fā)送json格式的post請求方法

 更新時間:2022年09月08日 14:48:05   作者:測試工程師Jane  
這篇文章主要介紹了python中Requests發(fā)送json格式的post請求方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,感興趣的朋友可以參考一下

前言

問題:

做requests請求時遇到如下報錯:

{“code”:“500”,“message”:"JSON parse error: Cannot construct instance of com.bang.erpapplication.domain.User (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value

原因:
Requests.post源碼如下:

post請求傳body的參數(shù)有兩種:data和json,那么我們來看一下python各種數(shù)據(jù)結(jié)構(gòu)做為body傳入的表現(xiàn)

1.普通string類型

string2 = "2222222"
r = requests.post("http://httpbin.org/post", data=string2)
print(r.text)

返回的結(jié)果:

2.string內(nèi)是字典的

import requests
string = "{'key1': 'value1', 'key2': 'value2'}"
r = requests.post("http://httpbin.org/post", data=string)
print(r.text)

返回結(jié)果:

3.元組(嵌套列表或者)

import requests
string = (['key1', 'value1'],)
r = requests.post("http://httpbin.org/post", data=string)
print(r.text)

返回結(jié)果:

4.字典

5.json

import requests
import json

dic = {'key1': 'value1', 'key2': 'value2'}
string = json.dumps(dic)
r = requests.post("http://httpbin.org/post", data=string)
print(r.text)

返回結(jié)果:

6.傳入非嵌套元組或列表

string = ['key1','value1']
r = requests.post("http://httpbin.org/post", data=string)
print(r.text)

返回報錯:

7.以post(url,json=data)請求

dic = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", json=dic)
print(r.text)

運行結(jié)果:

由以上運行結(jié)果可以看出:

轉(zhuǎn)入?yún)?shù)body數(shù)據(jù)類型headers(Content-type)
datastringtext/plain純文本(默認(rèn))
data元組(嵌套)text/plain純文本(默認(rèn))–轉(zhuǎn)為dict
data元組(非嵌套)報錯,不支持
data列表報錯,不支持
data字典application/x-www-form-urlencoded(key/value表單)
datajson(字符串但!= python string)text/plain純文本(默認(rèn))-要再做驗證
json字典(源碼內(nèi)轉(zhuǎn)成了json)application/json(json串)

現(xiàn)在讓我們來看一下源碼:

當(dāng)轉(zhuǎn)入json=data時:

當(dāng)輸入data=data時:

結(jié)論:

所以當(dāng)你請求的data=dict時,未轉(zhuǎn)為JSON的情況下,requests默認(rèn)以表單形式key/value形式提交請求

setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");

以json=dict形式請求時,以application/json格式發(fā)出請求

setRequestHeader("Content-type","application/json; charset=utf-8");

以data=其它請求時,默認(rèn)就按純文本格式請求:

setRequestHeader("Content-type", "text/plain; charset=utf-8");

到此這篇關(guān)于python中Requests發(fā)送json格式的post請求實操的文章就介紹到這了,更多相關(guān)python post請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Pandas對數(shù)據(jù)進行篩選和排序的實現(xiàn)

    使用Pandas對數(shù)據(jù)進行篩選和排序的實現(xiàn)

    這篇文章主要介紹了使用Pandas對數(shù)據(jù)進行篩選和排序的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python 實現(xiàn)自動完成A4標(biāo)簽排版打印功能

    Python 實現(xiàn)自動完成A4標(biāo)簽排版打印功能

    這篇文章主要介紹了Python 實現(xiàn)自動完成A4標(biāo)簽排版打印功能,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 新手學(xué)習(xí)Python2和Python3中print不同的用法

    新手學(xué)習(xí)Python2和Python3中print不同的用法

    在本篇文章里小編給大家分享的是關(guān)于Python2和Python3中print不同的用法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • Python?clip與range函數(shù)保姆級使用教程

    Python?clip與range函數(shù)保姆級使用教程

    本文主要和大家介紹了詳解Python中clip與range函數(shù)的用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參,希望能幫助到大家
    2022-06-06
  • Python線性回歸圖文實例詳解

    Python線性回歸圖文實例詳解

    用python進行線性回歸分析非常方便,有現(xiàn)成的庫可以使用比如numpy.linalog.lstsq、scipy.stats.linregress、pandas.ols等,這篇文章主要給大家介紹了關(guān)于Python線性回歸的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Django Auth用戶認(rèn)證組件實現(xiàn)代碼

    Django Auth用戶認(rèn)證組件實現(xiàn)代碼

    這篇文章主要介紹了Django Auth用戶認(rèn)證組件實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • python3.5+tesseract+adb實現(xiàn)西瓜視頻或頭腦王者輔助答題

    python3.5+tesseract+adb實現(xiàn)西瓜視頻或頭腦王者輔助答題

    這篇文章主要介紹了python3.5+tesseract+adb實現(xiàn)西瓜視頻或頭腦王者輔助答題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • python設(shè)置中文界面實例方法

    python設(shè)置中文界面實例方法

    在本篇文章里小編給大家整理的是關(guān)于python設(shè)置中文界面實例方法,有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-10-10
  • Python爬取豆瓣數(shù)據(jù)實現(xiàn)過程解析

    Python爬取豆瓣數(shù)據(jù)實現(xiàn)過程解析

    這篇文章主要介紹了Python爬取豆瓣數(shù)據(jù)實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Python實現(xiàn)中值濾波去噪方式

    Python實現(xiàn)中值濾波去噪方式

    今天小編就為大家分享一篇Python實現(xiàn)中值濾波去噪方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論