前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Requests库(十六)一文展示如何利用Requests请求xml格式接口

Requests库(十六)一文展示如何利用Requests请求xml格式接口

作者头像
雷子
发布2021-03-15 16:33:25
1.7K0
发布2021-03-15 16:33:25
举报
文章被收录于专栏:雷子说测试开发

Requests库分享系列:

Requests库(一)

Requests库(二)

Requests库(三)如何获取接口传参参数

Requests库(四)如何传递不一样的参数

Requests库(五)接口返回状态码

Requests库(六)接口返回响应头和请求Cookies

Requests库(七)重定向和超时

Requests(八)代理和会话对象

Requests库(九)准备的请求和SSL 证书验证

Requests库(十)接口请求认证

Requests库(十一)实战请求钉钉群机器人

Requests库(十二)实战获取今日头条24小时热文

Requests库(十三)利用钉钉机器人打造一个钉钉群定时推送今日头条24小时热闻

Requests库(十四)一文揭秘如何获取快手关注的视频

Requests库(十五)一文解决解析text/html格式返回数据


我们在前面的分享中分享了如何处理json格式请求数据。常见的请求数据类型有以下四种。我们只分享常见的。

代码语言:javascript
复制
application/x-www-form-urlencoded
application/json
text/xml
multipart/form-data

这次我们看下python如何发送text/xml格式的接口。

首先我们我们有这样一个接口,可以处理xml格式的请求。那么我们可以来进行请求。

代码语言:javascript
复制
http://httpbin.org/post

我们在请求的时候,首先要声明接口请求的类型。

代码语言:javascript
复制
headers={
  "content-type": "text/xml; charset=utf-8"
}

然后我们写下对应的参数

代码语言:javascript
复制
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>"

然后我们就可以去请求了,代码如下:

代码语言:javascript
复制
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库进行解析。


如果觉得这篇文章还不错,来个【分享、点赞、在看】三连吧,让更多的人也看到~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SymantecSSL 证书
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档