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

python?requests.post請(qǐng)求404問(wèn)題及解決方法

 更新時(shí)間:2022年09月08日 10:29:07   作者:李飛飛_None  
這篇文章主要介紹了python?requests.post請(qǐng)求404問(wèn)題,這里需要根據(jù)自己實(shí)際情況來(lái)分析當(dāng)前接口接收數(shù)據(jù)時(shí)使用的是什么格式,但目前一般的網(wǎng)站都開(kāi)始采用application/jsond的數(shù)據(jù)格式,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下

問(wèn)題場(chǎng)景

有時(shí)候,在編寫(xiě)一段http接口請(qǐng)求程序時(shí),發(fā)現(xiàn)代碼中的header頭和請(qǐng)求體中都是原網(wǎng)頁(yè)中一樣,但是,在實(shí)際請(qǐng)求時(shí),接口卻返回404,代碼如下

header = {
    # ':authority': 'm.ctrip.com',
    # ':method': 'POST',
    # ':path': '/restapi/soa2/20405/getPCSightList',
    # ':scheme': 'https',
    'accept': '*/*',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'zh-CN,zh;q=0.9',
    'authorization': 'xx',
    'cache-control': "no-cache",
    'content-length': '373',
    'content-type': 'application/json;charset:utf-8;',
    'cookies': 'xx',
    'origin': 'https://www.tripadvisor.cn',
    'pragma': 'no-cache',
    'referer': 'https://www.tripadvisor.cn/Attractions-g60763-New_York_City_New_York-Vacations.html',
    'sec-ch-ua': "'.Not/A)Brand';v='99', 'Google Chrome';v='103', 'Chromium';v='103'",
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': 'macOS',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'cors',
    'sec-fetch-site': 'cross-site',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',
    'x-ta-uid': 'cd58b674-7dba-484a-a908-3239120cd728'
}
url = 'https://m.ctrip.com/restapi/soa2/20405/getPCSightList'
data = {"geoId":60763,"pageIndex":1,"pageSize":30,"travelRanking":"false","needSelectedFilters":"true","filters":[{"type":"subcategory","param":""},{"type":"subtype","param":""},{"type":"neighborhood","param":""},{"type":"travelerRating","param":""},{"type":"awards","param":""},{"type":"waypointairport","param":""},{"type":"waypointstation","param":""},{"type":"other","param":""}]}
response = requests.post(url=url, data=data, headers=header)
print(response.status_code)

運(yùn)行結(jié)果為

在這里插入圖片描述

問(wèn)題分析

既然404,那就排查問(wèn)題,data和header都是直接從復(fù)制瀏覽器中復(fù)制過(guò)來(lái)的,不會(huì)有問(wèn)題,那有問(wèn)題的必然是request.post中的方法問(wèn)題
查看request.post源碼

在這里插入圖片描述

從源碼中可以看到,request.post可以接受兩個(gè)參數(shù),一個(gè)是data,還有一個(gè)是json,
data是以字典的形式發(fā)送body,json則是以json數(shù)據(jù)格式發(fā)送body
通過(guò)這兩個(gè)注釋可以很明顯的發(fā)現(xiàn),requests.post在發(fā)送請(qǐng)求時(shí),會(huì)根據(jù)當(dāng)前傳遞的參數(shù)來(lái)選擇不同的方式,可以理解為一種是表單形式,還有一種是json格式

postman測(cè)試

通過(guò)postman來(lái)測(cè)試兩種不同請(qǐng)求下的情況
form表單

在這里插入圖片描述

Json數(shù)據(jù)

在這里插入圖片描述

通過(guò)postman測(cè)試可以發(fā)現(xiàn),當(dāng)前服務(wù)后端接口僅接受json格式的數(shù)據(jù),即content-type為application.json

問(wèn)題解決

將原先代碼中data替換成json

response = requests.post(url=url, json=data, headers=JsonHeader)

在這里插入圖片描述

這個(gè)時(shí)候肯定有人會(huì)問(wèn),那我使用data傳遞數(shù)據(jù)時(shí),將header頭中的content-type指定為application/json不就行了,但其實(shí)是不行的,就算自己指定了,最后request.body的值也是類(lèi)似于key1=value1&key2=value2這種形式

結(jié)論

當(dāng)request.post使用json來(lái)傳遞參數(shù)時(shí),即使不指定content-type類(lèi)型,也會(huì)默認(rèn)指定application/json

在這里插入圖片描述

使用data傳遞參數(shù)時(shí),將會(huì)以表單的形式進(jìn)行提交,并且后續(xù)將通過(guò)urlencode轉(zhuǎn)換成字符串,及key1=value1&key2=value2的形式

在這里插入圖片描述

使用data時(shí),即使指定了content-type也不會(huì)生效,后續(xù)將會(huì)被默認(rèn)替換掉

在這里插入圖片描述

因此,需要根據(jù)自己實(shí)際情況來(lái)分析當(dāng)前接口接收數(shù)據(jù)時(shí)使用的是什么格式,但目前一般的網(wǎng)站都開(kāi)始采用application/jsond的數(shù)據(jù)格式

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

相關(guān)文章

  • 虛擬機(jī)下載python是否需要聯(lián)網(wǎng)

    虛擬機(jī)下載python是否需要聯(lián)網(wǎng)

    在本篇文章里小編給大家分享的是一篇關(guān)于虛擬機(jī)下載python是否需要聯(lián)網(wǎng)的相關(guān)文章,有需要的朋友們可以參考下。
    2020-07-07
  • Python基礎(chǔ)之文本常量與字符串模板

    Python基礎(chǔ)之文本常量與字符串模板

    這篇文章主要介紹了Python基礎(chǔ)之文本常量與字符串模板,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Pandas多個(gè)條件(AND,OR,NOT)中提取行

    Pandas多個(gè)條件(AND,OR,NOT)中提取行

    本文主要介紹了Pandas多個(gè)條件(AND,OR,NOT)中提取行,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python中列表元素連接方法join用法實(shí)例

    python中列表元素連接方法join用法實(shí)例

    這篇文章主要介紹了python中列表元素連接方法join用法,實(shí)例分析了Python中join方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • pandas數(shù)據(jù)處理之繪圖的實(shí)現(xiàn)

    pandas數(shù)據(jù)處理之繪圖的實(shí)現(xiàn)

    這篇文章主要介紹了pandas數(shù)據(jù)處理之繪圖的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 詳解python 利用echarts畫(huà)地圖(熱力圖)(世界地圖,省市地圖,區(qū)縣地圖)

    詳解python 利用echarts畫(huà)地圖(熱力圖)(世界地圖,省市地圖,區(qū)縣地圖)

    這篇文章主要介紹了詳解python 利用echarts畫(huà)地圖(熱力圖)(世界地圖,省市地圖,區(qū)縣地圖),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python 實(shí)現(xiàn)二叉查找樹(shù)的示例代碼

    Python 實(shí)現(xiàn)二叉查找樹(shù)的示例代碼

    這篇文章主要介紹了Python 實(shí)現(xiàn)二叉查找樹(shù)的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • 解決Python一行輸出不顯示的問(wèn)題

    解決Python一行輸出不顯示的問(wèn)題

    今天小編就為大家分享一篇解決Python一行輸出不顯示的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 使用Python開(kāi)發(fā)windows GUI程序入門(mén)實(shí)例

    使用Python開(kāi)發(fā)windows GUI程序入門(mén)實(shí)例

    這篇文章主要介紹了使用Python開(kāi)發(fā)windows GUI程序入門(mén)實(shí)例,本文著重介紹開(kāi)發(fā)環(huán)境必須的軟件,代碼實(shí)現(xiàn)相對(duì)簡(jiǎn)單,需要的朋友可以參考下
    2014-10-10
  • Python文件和目錄操作詳解

    Python文件和目錄操作詳解

    這篇文章主要介紹了Python文件和目錄操作詳解,本文講解了文件的打開(kāi)和創(chuàng)建、文件的讀取、文件的寫(xiě)入、內(nèi)容查找替換等內(nèi)容,需要的朋友可以參考下
    2015-02-02

最新評(píng)論