python调用webservice接口(SOAP)
(1)接口是一个url,示例:http://xxx.xxx.xxx.xxx/webservice/services/SecurityEngineDeal?wsdl
需要先安装suds库:pip install suds
from suds.client import Client
#如果需要登录,则通过下面方式认证(电脑的开机账号密码),无需登录请忽略
from suds.transport.https import HttpAuthenticated
t = HttpAuthenticated(username='admin',passowrd='123')
test = Client(url,t)
#如果不需要登录直接像下面这样
test = Client(url)
print test //会显示所有的接口名及参数
#调用具体某个接口
[1]参数为普通参数类型,如string ,int
test.service.接口名(参数)
#以接口GetRandom为例,传递一个类型为String的参数,参数类型在url中type="xs:string"这里会显示
print test.service.GetRandom('firstParam') //传递一个参数,并打印调用结果
#传递2个string 参数
print test.service.GetRandom('firstParam','twoParam')
#传递1个string,1个int类型
print test.service.GetRandom('firstParam',2)
[2]参数为具体的某个对象,对象包含属性
对象类:User,属性:name,age,都为string
方法一:
m = {"name":"feng","age":"88"}
print test.service.GetRandom(m)
方法二:
m = client.factory.create('User')
m.name = "name"
m.age = "00"
print test.service.GetRandom(m)
2.python调用com接口
本地存在一个名为XTXAppCOM.dll的文件
comlib = win32.Dispatch('XTXAppCOM.XTXApp')
调用示例:
comlib.接口名(接口参数)
3.python调用c接口
import ctypes
XTXDllBasePath = p + r'\Lib\site-packages\APIIntercommLibrary\lib\XTX\\'
XTXDllPath = XTXDllBasePath + 'XTXAppCOM.dll'
self.XTXC = ctypes.windll.LoadLibrary(XTXDllPath)
调用示例:
注意转换为c接口能接受的类型
self.XTXC.接口名(接口参数)
4.python调用websocket
data是根据实际情况需要传的参数,一般为json格式,r就是得到的返回值
from websocket import create_connection
url = "ws://127.0.0.1:21051/xtxapp"
ws = create_connection(url)
ws.send(data)
r = ws.recv()
其他接口调用方式将很快补充上。。。。。