python post xml_python post请求,text/xml 格式

最近接触到一个post请求,发送报文是 以xml格式的。如下:

准备用Python + Requests库来进行接口的代码自动化。 记录下 过程。

首先,postman请求,用fidder抓包,确定下请求报文:

看下请求报文具体。复制下,使用fiddler的 composer ,请求方式post,请求地址输入,下面Request Body 中粘贴复制的请求报文,点击execute,执行。执行成功,成功返回报文

2. 使用python代码

xml 格式的直接放置body,字符串承接,每一行最后增加\换行符,requests 的post请求,用data 来接。进行请求。即可请求成功。

(如果失败,post请求data的body进行一下utf-8转换。 re = requests.post(url=url,data=body.encoding("utf-8"))   )

代码如下:

url = "http://xx.xx.xx.xxx:xxxxx/xxxxxx/Cmis2YcloansHttpChannel"

body = 'XXXXX;calculateService;'\

'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'\

''\

'reqID'\

'2019-08-19 17:16:15.123'\

'calculateService'\

'YouZan'\

''\

''\

'127.0.0.1'\

''\

'branch_code'\

'50000320120198253002'\

'2020-12-08'\

'45.22'\

'2020-12-08'\

'AT'\

''\

re = requests.post(url=url,data=body)

print(re.text)

再当前文件中请求成功。

3.xml报文放置xml文件中,读取xml文件

一般请求报文放置 XML 文件中,pycharm 中新增xml 文件。文件中将xml请求报文放置。如下:

当前请求中,使用Open函数读取xml文件内容,请求代码

参考代码:

url = "http://xx.xx.xx.xxx:xxxxx/xxxxxx/Cmis2YcloansHttpChannel"

headers = {'Content-Type':'application/xml'}

with open('youzanLoanTrial.xml',encoding='utf-8') as fp:

body1 = fp.read()

re = requests.post(url=url,headers=headers,data=body1)

print(re.text)

代码成功运行,运行结果如下:

这是request请求,第四种比较常用的请求方式。

{'Content-Type': 'application/json'},

{'Content-Type': 'application/x-www-form-urlencoded'}

{'Content-Type':'multipart/form-data}

{'Content-Type':'text/xml}

Requests库post请求,四种常用请求方式:application/json,application/form,multipart/form-data,text/xml

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值