濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 詳解python requests中的post請(qǐng)求的參數(shù)問題

詳解python requests中的post請(qǐng)求的參數(shù)問題

熱門標(biāo)簽:工廠智能電話機(jī)器人 平頂山外呼系統(tǒng)免費(fèi) 千陽自動(dòng)外呼系統(tǒng) 在哪里辦理400電話號(hào)碼 400電話申請(qǐng)服務(wù)商選什么 清遠(yuǎn)360地圖標(biāo)注方法 西藏智能外呼系統(tǒng)五星服務(wù) 江蘇客服外呼系統(tǒng)廠家 原裝電話機(jī)器人

問題:最新在爬取某站點(diǎn)的時(shí)候,發(fā)現(xiàn)在post請(qǐng)求當(dāng)中,參數(shù)構(gòu)造正確卻獲取不到數(shù)據(jù),索性將post的參數(shù)urlencode之后放到post請(qǐng)求的url后面變成get請(qǐng)求,結(jié)果成功獲取到數(shù)據(jù),對(duì)此展開疑問。

1.http請(qǐng)求中Form Data和Request Playload的區(qū)別:

  Ajax post請(qǐng)求中常用的兩種參數(shù)形式:form data 和 request payload

  get請(qǐng)求的時(shí)候,我們的參數(shù)直接反映在url里面,為key1=value1key2=value2形式,如果是post請(qǐng)求,那么表單參數(shù)是在請(qǐng)求體中,也是以key1=value1key2=value2的形式在請(qǐng)求體中。通過chrome的開發(fā)者工具可以看到如下

a.Form Data類型:

這種情況有兩種處理方式,一個(gè)是把這個(gè)post請(qǐng)求變成get請(qǐng)求,即把請(qǐng)求參數(shù)通過"?key1=value1key2=value2"拼接在url當(dāng)中,然后以get方式請(qǐng)求就可以了:response = requests.get(url,headers=headers),其中url為拼接的url

另一種是仍然用post請(qǐng)求,將參數(shù)放在data中:response = requests.post(url,headers=headers,data=data),其中url為post url.

注意上圖中紅圈內(nèi)的內(nèi)容,這里請(qǐng)求頭中的Content-Type為application/x-www-form-urlencoded,點(diǎn)擊Form Data旁邊的view source,變成了key1=value1key2=value2形式,如下圖,這時(shí)你可以將這部分內(nèi)容加到post的Request URL后面使它變成一個(gè)get請(qǐng)求,就可以獲取到數(shù)據(jù)了,

b.Request Payload類型

同樣在chrome瀏覽器開發(fā)者工具中可以看到它們不同的地方,Content-Type為application/json,表明需要傳的是一個(gè)json類型的對(duì)象,點(diǎn)擊view source,如下圖

自動(dòng)變成了json類型,這時(shí)必須發(fā)post請(qǐng)求,將這json對(duì)象傳入才可獲取數(shù)據(jù)。形如:

response = requests.post(url,json=data,headers=headers) 相比普通的post,這個(gè)post參數(shù)中的data一定要序列化才行。

參考:https://stackoverflow.com/questions/10494574/what-is-the-difference-between-form-data-and-request-payload

到此這篇關(guān)于詳解python requests中的post請(qǐng)求的參數(shù)問題的文章就介紹到這了,更多相關(guān)python requests post請(qǐng)求參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python爬蟲請(qǐng)求庫httpx和parsel解析庫的使用測(cè)評(píng)
  • python爬蟲系列網(wǎng)絡(luò)請(qǐng)求案例詳解
  • 快速一鍵生成Python爬蟲請(qǐng)求頭
  • Python3+Django get/post請(qǐng)求實(shí)現(xiàn)教程詳解
  • python 實(shí)現(xiàn)Requests發(fā)送帶cookies的請(qǐng)求
  • python實(shí)現(xiàn)三種隨機(jī)請(qǐng)求頭方式
  • Python urllib request模塊發(fā)送請(qǐng)求實(shí)現(xiàn)過程解析
  • python 爬蟲請(qǐng)求模塊requests詳解
  • Python Http請(qǐng)求json解析庫用法解析
  • python 發(fā)送get請(qǐng)求接口詳解
  • python+excel接口自動(dòng)化獲取token并作為請(qǐng)求參數(shù)進(jìn)行傳參操作
  • Python使用grequests并發(fā)發(fā)送請(qǐng)求的示例
  • Python爬蟲基礎(chǔ)講解之請(qǐng)求

標(biāo)簽:股票 日照 西安 安慶 天水 錦州 隨州 白城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解python requests中的post請(qǐng)求的參數(shù)問題》,本文關(guān)鍵詞  詳解,python,requests,中的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解python requests中的post請(qǐng)求的參數(shù)問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解python requests中的post請(qǐng)求的參數(shù)問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    永吉县| 阿鲁科尔沁旗| 灵宝市| 保山市| 澳门| 浦城县| 西林县| 微山县| 鄂尔多斯市| 卫辉市| 嘉峪关市| 荥阳市| 孟连| 涡阳县| 金堂县| 镇雄县| 闽侯县| 科技| 南靖县| 恩平市| 濮阳市| 玉门市| 汾阳市| 和龙市| 汝阳县| 阳信县| 通榆县| 成武县| 宣化县| 宜川县| 潢川县| 衢州市| 银川市| 襄樊市| 陈巴尔虎旗| 庆安县| 合水县| 荣成市| 黄梅县| 泸溪县| 梁平县|