当前位置:网站首页>Requests库(十六)一文展示如何利用Requests请求xml格式接口

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

2021-03-15 16:54:40 雷子

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库进行解析。


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

本文分享自微信公众号 - 雷子说测试开发(gh_645316d0d7b6)

原文出处及转载信息见文内详细说明,如有侵权,请联系 [email protected] 删除。

原始发表时间: 2020-12-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

版权声明
本文为[雷子]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1801808