zoukankan      html  css  js  c++  java
  • 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"?>'
    '<msgbody>'
    '<reqId>reqID</reqId>'
    '<reqTime>2019-08-19 17:16:15.123</reqTime>'
    '<serviceId>calculateService</serviceId>'
    '<channelId>YouZan</channelId>'
    '<subChannelId></subChannelId>'
    '<source></source>'
    '<ip>127.0.0.1</ip>'
    '<version></version>'
    '<BCH_CDE>branch_code</BCH_CDE>'
    '<loanNo>50000320120198253002</loanNo>'
    '<setlValDt>2020-12-08</setlValDt>'
    '<actvPayAmt>45.22</actvPayAmt>'
    '<trialDt>2020-12-08</trialDt>'
    '<paymMode>AT</paymMode>'
    '</msgbody>'
    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 

  • 相关阅读:
    Webkit CSS properties
    轻量级前端MVVM框架avalon
    ExtJS4 源码解析(一)带项目分析
    web app开发利器
    运用webkit绘制渲染页面原理解决iscroll4闪动的问题
    吐槽:基于PhoneGap开发移动项目
    轻量级前端MVVM框架avalon
    轻量级前端MVVM框架avalon
    WinDbg 命令三部曲:(一)WinDbg 命令手册
    Unit Testing with NSubstitute
  • 原文地址:https://www.cnblogs.com/MTXue/p/13925026.html
Copyright © 2011-2022 走看看