
Requests库分享系列:
Requests库(一)
Requests库(二)
Requests库(三)如何获取接口传参参数
Requests库(四)如何传递不一样的参数
Requests库(五)接口返回状态码
Requests库(六)接口返回响应头和请求Cookies
Requests库(七)重定向和超时
Requests(八)代理和会话对象
Requests库(九)准备的请求和SSL 证书验证
Requests库(十)接口请求认证
Requests库(十一)实战请求钉钉群机器人
Requests库(十二)实战获取今日头条24小时热文
Requests库(十三)利用钉钉机器人打造一个钉钉群定时推送今日头条24小时热闻
Requests库(十四)一文揭秘如何获取快手关注的视频
Requests库(十五)一文解决解析text/html格式返回数据
我们在前面的分享中分享了如何处理json格式请求数据。常见的请求数据类型有以下四种。我们只分享常见的。
application/x-www-form-urlencoded
application/json
text/xml
multipart/form-data这次我们看下python如何发送text/xml格式的接口。
首先我们我们有这样一个接口,可以处理xml格式的请求。那么我们可以来进行请求。
http://httpbin.org/post我们在请求的时候,首先要声明接口请求的类型。
headers={
"content-type": "text/xml; charset=utf-8"
}然后我们写下对应的参数
data="<?xml version='1.0' encoding = 'UTF-8'?>\
<COM>\
<REQ name='雷子说测试开发'>\
<USER_ID>leizi</USER_ID>\
<COMMODITY_ID>123456</COMMODITY_ID>\
<SESSION_ID>DwO68dQFBg9xIizKsC6RhaeHRxqIT9nmU</SESSION_ID>\
</REQ></COM>"然后我们就可以去请求了,代码如下:
import requests
url="http://httpbin.org/post"
headers={
"content-type": "text/xml; charset=utf-8"
}
data="<?xml version='1.0' encoding = 'UTF-8'?>\
<COM>\
<REQ name='雷子说测试开发'>\
<USER_ID>leizi</USER_ID>\
<COMMODITY_ID>123456</COMMODITY_ID>\
<SESSION_ID>DwO68dQFBg9xIizKsC6RhaeHRxqIT9nmU</SESSION_ID>\
</REQ></COM>"
ronpose=requests.post(url,data=data.encode("utf-8"),headers=headers)
print(ronpose.text)接口返回 如下。

有人会问为啥要data.encode(‘utf-8’),因为在正常的请求的时候,接口返回,因为这里有中文,可能在请求的时候出现这样的错误,所以我们要做处理。

不只是在请求的时候,在接口返回的时候,我们也可能遇到乱码或者编码问题,我们需要对结果进行decode来解决,展示到我们想要的请求。
这里我们分享的只是用xml格式发送的请求。当然了,接口返回的也有xml格式的,我们可以使用python自带的xml库进行解析。
如果觉得这篇文章还不错,来个【分享、点赞、在看】三连吧,让更多的人也看到~