python 客户端 httplib 、 requests分别post数据(soap)

httplib 

import httplib

    soapbody ='''
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:te="http://tempuri.org/">
            <soapenv:Header/>
            <soapenv:Body>
                <te:GetLisRequest>
                    <te:Barcode>%s</te:Barcode>
                    <te:LoginCode>%s</te:LoginCode>
                    <te:LoginPWD>%s</te:LoginPWD>
                    <te:DelegateHosCode>%s</te:DelegateHosCode>
                </te:GetLisRequest>
            </soapenv:Body>
        </soapenv:Envelope>'''

    soapbody=soapbody %('0044636','1017','1017','5401762')
    webservice = httplib.HTTPS("hims-core-stg1.xxx.com.cn")
    webservice.putrequest("POST", "/lis/IHospitalInterface")
    webservice.putheader("Host", "hims-core-stg1.xxx.com.cn")
    webservice.putheader("Content-length", "%d" % len(soapbody))
    webservice.putheader("Content-type", "text/xml; charset=UTF-8")
    webservice.putheader("SOAPAction", "http://tempuri.org/IHospitalInterface/GetLisRequest")
    webservice.endheaders()
    webservice.send(soapbody)
    statuscode, statusmessage, header = webservice.getreply()

    res = webservice.getfile().read()

requests

import requests

body ='''
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:lns="http://tempuri.org/">
            <soapenv:Header/>
            <soapenv:Body>
                <lns:GetLisRequest>
                    <lns:Barcode>%s</lns:Barcode>
                    <lns:LoginCode>%s</lns:LoginCode>
                    <lns:LoginPWD>%s</lns:LoginPWD>
                    <lns:DelegateHosCode>%s</lns:DelegateHosCode>
                </lns:GetLisRequest>
            </soapenv:Body>
        </soapenv:Envelope>'''

    payload=body %('0044636','1017','1017','5401762')

    url = "https://hims-core-stg1.xxx.com.cn/lis/IHospitalInterface"
    headers = {
        'Content-type': "text/xml; charset=UTF-8",
        'SOAPAction': "http://tempuri.org/IHospitalInterface/GetLisRequest",
        'Content-length': "%d" % len(payload),
        'Host': "hims-core-stg1.xxx.com.cn",
        }

    response = requests.request("POST", url, data=payload, headers=headers)

    print(response.text)

 

posted @ 2019-07-10 16:42  553490191  阅读(1537)  评论(0编辑  收藏  举报