import requests import xml.etree.ElementTree as ET from requests.auth import HTTPBasicAuth dd = requests.get(url="http://test", auth=HTTPBasicAuth('test', 'test')) tree = ET.fromstring(dd.text) child = tree.getchildren() for one in child: print(one.tag, ":", one.attrib) if "service" in one.tag: for children in one: print(children.tag, "----------", children.attrib) if "HTTP_Port" in children.attrib.values(): for ba in children: print(ba.attrib) # 根据返回内容解析需要的url bb = tree.find("{http://schemas.xmlsoap.org/wsdl/}service").findall("{http://schemas.xmlsoap.org/wsdl/}port") for one in bb: if "HTTP_Port" in one.attrib.values(): for one_b in one: print(one_b.attrib["location"]) url = "http://hxpiweb.chinaexpressair.com:58000/XISOAPAdapter/MessageServlet?senderParty=&senderService=PRD_BPM&receiverParty=&receiverService=&interface=SI_BPMAUTH_REQUEST&interfaceNamespace=com:ce:bm:BPMAUTH" headers = {"Content-Type": "text/xml;charset=UTF-8"} data = '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" ' \ 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="com.ce.BpmAuthService" ' \ 'xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">' \ '<SOAP-ENV:Header/>' \ ' <ns1:Body>' \ '<ns0:getAuth>' \ '<arg0>%s</arg0>' \ '</ns0:getAuth>' \ '</ns1:Body>' \ '</SOAP-ENV:Envelope>' a = requests.post(url=url, auth=HTTPBasicAuth('Test', 'Test'), data=data % "CHENGKANG", headers=headers) print(a.text) # 根据返回的xml解析需要的内容 tt = ET.fromstring(a.text) for on in tt: for one in on: print(one.tag, "-----", one.attrib) for ont in one: print(ont.tag, "-----", ont.attrib) ddj = tt.find("{http://schemas.xmlsoap.org/soap/envelope/}Body").find( "{com.ce.BpmAuthService}getAuthResponse").find("return").findall("authWork") for one in ddj: print(one.text) tt = '<?xml version="1.0" encoding="ISO-8859-1"?><note><to>George</to>' \ '<from>John</from>' \ '<heading>Reminder</heading>' \ '<body>Don forget the meeting!</body></note>' bb = ET.fromstring(tt) ct = bb.find("body") print(bb)
python http方式调用webservice接口
最新推荐文章于 2024-06-12 20:15:15 发布