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)文章
python 基于opencv 實(shí)現(xiàn)一個(gè)鼠標(biāo)繪圖小程序
這篇文章主要介紹了python 基于opencv 實(shí)現(xiàn)一個(gè)鼠標(biāo)繪圖小程序,幫助大家更好的理解和使用python的opencv庫,感興趣的朋友可以了解下2020-12-12sqlalchemy實(shí)現(xiàn)時(shí)間列自動(dòng)更新教程
這篇文章主要介紹了sqlalchemy實(shí)現(xiàn)時(shí)間列自動(dòng)更新教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09運(yùn)動(dòng)檢測(cè)ViBe算法python實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了運(yùn)動(dòng)檢測(cè)ViBe算法python實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Python 實(shí)現(xiàn)一個(gè)計(jì)時(shí)器
這篇文章主要介紹了Python 實(shí)現(xiàn)一個(gè)計(jì)時(shí)器的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07Sentry的安裝、配置、使用教程(Sentry日志手機(jī)系統(tǒng))
Sentry?是一個(gè)實(shí)時(shí)事件日志記錄和聚合平臺(tái),由于ExceptionLess官方提供的客戶端只有.Net/.NetCore平臺(tái)和js的,本文繼續(xù)介紹另一個(gè)日志收集系統(tǒng)Sentry,感興趣的朋友一起看看吧2022-07-07python編程實(shí)現(xiàn)清理微信重復(fù)緩存文件
這篇文章主要為大家介紹了使用python編程來實(shí)現(xiàn)清理微信重復(fù)緩存文件的示例代碼過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11