遇到几次使用Idhttp 进行接口请求的时候报错 http 415 unsupported media type 的错误。最后的解决办法几乎都是一样的。
设置Idhttp.ContentType 的类型。如 接口要求使用Post方式Json格式的串则设置:
Idhttp.ContentType = 'application/json'.
HTTP请求415错误 – 不支持的媒体类型(Unsupported media type)
通常有以下情况:
1:检查你的 http 请求头信息,比如 因为 User-Agent 被服务器设置 拒绝请求了;
比如你写的的爬虫,就很有可能因为没有伪装成浏览器,被拒绝请求
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
2:查看你的 http 请求方法,以及服务器端的设置
比如:有一个 强制用 post 请求的接口,你是不是用了非post 请求
3:post 请求参数设置,是不是必须的,json 格式
比如下面,两段代码,
如下 json参数,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 格式 参数
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
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛