【python 调用webserver】python请求调用webservices接口方法

这篇博客展示了如何使用Python的requests库调用WebService接口,重点在于构造XML格式的请求参数。首先在config.py中定义了请求URL、时间戳和签名的计算方法,然后在webServerGetData.py中设置headers,构建XML请求体,并发起POST请求。通过这个例子,我们可以了解到在Python中进行SOAP请求的基本流程。
摘要由CSDN通过智能技术生成

python webservice接口调用,可以用requests包发起post请求方式,此方法稍微区别是data是XML格式数据。

config.py

from hashlib import md5
import datetime


# 请求地址
url="http://10.66.3.19:6039/BaseDataService.asmx"

# XML请求参数
#时间戳
# timeStamp=datetime.datetime.now().strftime('%Y%m%d%H%M%S')
timeStamp='20181023131042'
# 签名
timstamp_apitest=timeStamp+"APITEST"
md5_timstamp = md5(timstamp_apitest.encode('utf8')).hexdigest()
sign=md5_timstamp.upper()
print(sign)

# 开始日期
START_TIME='2020-10-14'
# 结束日期
END_TIME='2020-10-16'

# START_TIME=datetime.datetime.now().strftime('%Y-%m-%d')
# END_TIME=datetime.datetime.now().strftime('%Y-%m-%d')

webServerGetData.py

# -*- coding: utf-8 -*-
# author:laidefa
import requests
from config import *

# 设置headers
headers = {'Content-Type': 'text/xml;charset=UTF-8'}


# post XML请求参数
body="""
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:TQMSExpertInterface>
         <!--Optional:-->
         <tem:sign>%s</tem:sign>
         <!--Optional:-->
         <tem:timeStamp>%s</tem:timeStamp>
         <!--Optional:-->
         <tem:method>TQMSAssayCheckInfo</tem:method>
         <!--Optional:-->
         <tem:data>
         <![CDATA[
              <ROOT><START_TIME>%s</START_TIME><END_TIME>%s</END_TIME><TYPE>TQMS</TYPE></ROOT>
         ]]>
         </tem:data>
      </tem:TQMSExpertInterface>
   </soapenv:Body>
</soapenv:Envelope>
"""%(sign,timeStamp,START_TIME,END_TIME)


print(body)
r = requests.post(url, data=body.encode("utf-8"), headers=headers)
print(r.status_code)

print(r.text)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东华果汁哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值