10-09-2018 09:15 AM
10-10-2018 04:16 AM
from zeep import Client from zeep.cache import SqliteCache from zeep.transports import Transport from zeep.plugins import HistoryPlugin from requests import Session from requests.auth import HTTPBasicAuth from lxml import etree import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) USERNAME = 'username' PASSWORD = 'password' WSDL = 'file://C://temp//API//RISService70.wsdl' IPS = ['192.168.1.*'] session = Session() session.verify = False session.auth = HTTPBasicAuth(USERNAME, PASSWORD) transport = Transport(cache=SqliteCache(), session=session, timeout=20) history = HistoryPlugin() #client = Client(wsdl=WSDL, transport=transport, plugins=[history]) client = Client(wsdl=WSDL, transport=transport) factory = client.type_factory('ns0') item = [] for ip in IPS: item.append(factory.SelectItem(Item=ip)) Item = factory.ArrayOfSelectItem(item) stateInfo = '' criteria = factory.CmSelectionCriteria( MaxReturnedDevices=1000, DeviceClass='Phone', Model=255, Status='Any', NodeName='', SelectBy='IPV4Address', SelectItems=Item, Protocol='Any', DownloadStatus='Any' ) rawresult = client.service.selectCmDevice(stateInfo, criteria)['SelectCmDeviceResult']['CmNodes']['item'] for rawphone in rawresult: phone = (rawphone['CmDevices']['item']) for singlefield in phone: field = singlefield print(field['Name']) for rawip in (field['IPAddress']['item']): ip = rawip print(rawip['IP']) print(field['LoginUserId']) for rawdn in (field['LinesStatus']['item']): dn = rawdn print(rawdn['DirectoryNumber'])
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide