具体是这样的,我有一个接口地址,根据需求需要向这个接口地址发送一段xml 数据。然后会收到一个响应,再根据响应内容,做相应处理。
网上找了一段代码,应该是我需要的,但是里面有些部分我不是很明白,在此请教各位了,代码如下,请知道的大大们帮忙讲一下。
网上找了一段代码,应该是我需要的,但是里面有些部分我不是很明白,在此请教各位了,代码如下,请知道的大大们帮忙讲一下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import
urllib2
import
sys, httplib
def
SendRtx(target,title,content):
SENDTPL
=
\
'''<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws.oa.com/common/message">
<SOAP-ENV:Body>
<ns1:SendRTX>
<ns1:sender>dantezhu</ns1:sender>
<ns1:receiver>%s</ns1:receiver>
<ns1:title>%s</ns1:title>
<ns1:msgInfo>%s</ns1:msgInfo>
<ns1:messageType>0</ns1:messageType>
</ns1:SendRTX>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>'''
SoapMessage
=
SENDTPL
%
(target,title,content)
webservice
=
httplib.HTTP(
"ws.oa.com"
)
webservice.putrequest(
"POST"
,
"/messageservice.asmx"
)
webservice.putheader(
"Host"
,
"ws.oa.com"
)
webservice.putheader(
"User-Agent"
,
"Python Post"
)
webservice.putheader(
"Content-type"
,
"text/xml; charset=\"UTF-8\""
)
webservice.putheader(
"Content-length"
,
"%d"
%
len
(SoapMessage))
webservice.endheaders()
webservice.send(SoapMessage)
# get the response
statuscode, statusmessage, header
=
webservice.getreply()
|