python的webservice请求

1.pip install client

2.pip install suds-jurko

#coding=utf-8
from suds.client import Client
import time
url='http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl'
client = Client(url)
def get_methods_name():
method_list=[]
for i in client.wsdl.services[0].ports[0].methods:
method_list.append(i)
return method_list
for i in get_methods_name():
print(i)
time.sleep(5)
func=getattr(client.service,i)
print(func('221.112.223.1'))
# print(client.service.getCountryCityByIp(theIpAddress='221.112.223.1'))


-------------------------------------------------------------------------------------------------------------
#coding=utf-8
from suds.client import Client
class Webservice_Test:
def __init__(self,url):
self.client=Client(url)
def get_methods_name(self):
method_list = []
for i in self.client.wsdl.services[0].ports[0].methods:
method_list.append(i)
return method_list
#获取方法的参数
def get_method_parm(self,method_name):
method=self.client.wsdl.services[0].ports[0].methods[method_name]
input_parames=method.binding.input
params=input_parames.param_defs(method)[0]
return params[1].name,params[1].type[0]
def run_main(self):
for method in self.get_methods_name():
func=getattr(self.client.service,method)
print(func('221.112.223.1'))
if __name__ == '__main__':
url = 'http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl'
web=Webservice_Test(url)
# name=web.get_methods_name()[0]
# print(web.get_method_parm(name))
print(web.run_main())


posted @ 2019-06-24 22:12  taotao12  阅读(958)  评论(0编辑  收藏  举报