python request post 列表的方法詳解
request post 列表的方法
今天拿著已經(jīng)寫好的服務(wù)接口, 嘗試傳送一些列表, 發(fā)現(xiàn)傳送的結(jié)果跟實(shí)際傳送的數(shù)據(jù)并不一致,然后又開始了漫漫查資料的旅程。
原代碼
原代碼用來處理字典還是比較很成功的。
post:
url = 'http://127.0.0.1:5000/test'
data = {"text": '今天很開心', "lang": zh}
ret = requests.post(url,data=data)?
?
get:
txt = request.form['text']
lang = request.form['lang']
print(txt, lang)
?
print:今天很開心 zh
但我想要傳送列表,比如
post:
url = 'http://127.0.0.1:5000/test'
data = {"text": '今天很開心', "data": [{'Text', 'a'}, {'Text', 'b'}]}
ret = requests.post(url,data=data)類似于這種情況, 以上的方法就會(huì)失效, 會(huì)丟失部分?jǐn)?shù)據(jù), 具體原因是什么沒有去深究, 感興趣的小伙伴可以自己嘗試一下。
解決方案
1. 再按照原先那種以字典的方式進(jìn)行傳輸是不可以的了。
2. 我們需要變成字符串的方式進(jìn)行傳輸。
3. 一下是post, get的核心代碼
post:
? ? ret = requests.post(url, data=json.dumps([{'Text': 'hello'}, {'Text': 'world'}]))
get:
? ? print(request.data)
print:
? ? b'[{"Text": "hello"}, {"Text": "world"}]'注意到, 這里獲取到的數(shù)據(jù)是字節(jié)碼,后續(xù)還需要轉(zhuǎn)換成字符串進(jìn)行進(jìn)一步處理。
如下:
text = bytes.decode(byte_data, encoding='utf-8')
request post 數(shù)據(jù)中有l(wèi)ist和dict方法
今天遇到python requests post數(shù)據(jù),
可是數(shù)據(jù)中有一段是這樣的
data = {"data1":"[{"code":"aaa"}]"}requests.post數(shù)據(jù)是會(huì)提示未知錯(cuò)誤
#將列表的內(nèi)容提取出來,用json.dumps轉(zhuǎn)換一下
list_code = json.dumps([{"code":"aaa"}])
#然后賦值
data = {"data1":list_code}?
resp = reuqests.post(url,headers=header,data=data)使用這個(gè)方法就可以了
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
pandas?Dataframe實(shí)現(xiàn)批量修改值的方法
這篇文章主要介紹了pandas?Dataframe實(shí)現(xiàn)批量修改值的方法,在使用dataframe的時(shí)候?有時(shí)候會(huì)碰到需要批量修改數(shù)據(jù)的時(shí)候,下面文章主要說明兩種情況使用iloc對(duì)某幾行某幾列進(jìn)行全部修該和對(duì)數(shù)據(jù)進(jìn)行判定后,相互+/-/*某個(gè)數(shù),使用內(nèi)置函數(shù),需要的朋友可以參考一下2022-06-06
Python編程實(shí)現(xiàn)生成特定范圍內(nèi)不重復(fù)多個(gè)隨機(jī)數(shù)的2種方法
這篇文章主要介紹了Python編程實(shí)現(xiàn)生成特定范圍內(nèi)不重復(fù)多個(gè)隨機(jī)數(shù)的2種方法,涉及Python基于random生成隨機(jī)數(shù)的常見操作技巧,需要的朋友可以參考下2017-04-04
python opencv鼠標(biāo)畫矩形框之cv2.rectangle()函數(shù)
鼠標(biāo)操作屬于用戶接口設(shè)計(jì),以前一直使用Qt來做,但是如果只需要簡(jiǎn)單的鼠標(biāo),鍵盤操作,直接調(diào)用opencv庫的函數(shù)也未嘗不可,下面這篇文章主要給大家介紹了關(guān)于python opencv鼠標(biāo)畫矩形框cv2.rectangle()函數(shù)的相關(guān)資料,需要的朋友可以參考下2021-10-10
Python數(shù)學(xué)建模學(xué)習(xí)模擬退火算法多變量函數(shù)優(yōu)化示例解析
模擬退火算法借鑒了統(tǒng)計(jì)物理學(xué)的思想,是一種簡(jiǎn)單、通用的啟發(fā)式優(yōu)化算法,并在理論上具有概率性全局優(yōu)化性能,因而在科研和工程中得到了廣泛的應(yīng)用2021-10-10
通過Python中的http.server搭建文件上傳下載服務(wù)功能
通過本文我們學(xué)習(xí)了如何使用Python的http.server模塊搭建一個(gè)基本的HTTP服務(wù)器,并實(shí)現(xiàn)文件下載服務(wù),介紹了如何設(shè)置服務(wù)器端口、自定義文件目錄、定制HTTP響應(yīng)頭以及處理GET請(qǐng)求,感興趣的朋友跟隨小編一起看看吧2024-08-08
PySide(PyQt)使用QPropertyAnimation制作動(dòng)態(tài)界面的示例代碼
文章介紹了如何使用PySide或PyQt的QPropertyAnimation類來創(chuàng)建動(dòng)態(tài)界面效果,感興趣的朋友一起看看吧2025-03-03

