遇到幾次使用Idhttp 進(jìn)行接口請(qǐng)求的時(shí)候報(bào)錯(cuò) http 415 unsupported media type 的錯(cuò)誤。最后的解決辦法幾乎都是一樣的。
設(shè)置Idhttp.ContentType 的類型。如 接口要求使用Post方式Json格式的串則設(shè)置:
Idhttp.ContentType = 'application/json'.
HTTP請(qǐng)求415錯(cuò)誤 – 不支持的媒體類型(Unsupported media type)
通常有以下情況:
1:檢查你的 http 請(qǐng)求頭信息,比如 因?yàn)?User-Agent 被服務(wù)器設(shè)置 拒絕請(qǐng)求了;
比如你寫(xiě)的的爬蟲(chóng),就很有可能因?yàn)闆](méi)有偽裝成瀏覽器,被拒絕請(qǐng)求
User Agent中文名為用戶代理,簡(jiǎn)稱 UA,它是一個(gè)特殊字符串頭,使得服務(wù)器能夠識(shí)別客戶使用的操作系統(tǒng)及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語(yǔ)言、瀏覽器插件等。
2:查看你的 http 請(qǐng)求方法,以及服務(wù)器端的設(shè)置
比如:有一個(gè) 強(qiáng)制用 post 請(qǐng)求的接口,你是不是用了非post 請(qǐng)求
3:post 請(qǐng)求參數(shù)設(shè)置,是不是必須的,json 格式
比如下面,兩段代碼,
如下 json參數(shù),body
import requests
import json
payload={"userName":"names","userCode":"123456","phoneNum":"7800","regPic":"picData"}
headers={'content-type': 'application/json'}
burl="http://httpbin.org/post"
r=requests.post(burl, data=json.dumps(payload), headers=headers)
print r.text
如下 form 格式 參數(shù)
import requests
import json
payload={"userName":"names","userCode":"123456","phoneNum":"7800","regPic":"picData"}
headers={'content-type': 'application/json'}
burl="http://httpbin.org/post"
r=requests.post(burl, data=payload, headers=headers)
print r.text
如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇