python客户端访问WebService

来源:互联网 发布:plc编程入门 编辑:程序博客网 时间:2024/05/17 02:57


|
字号
 订阅

   在前几篇文章里面我重点用python去发布一个webservice。我用的是soaplib库。发布以后确实可以通过php来访问,也可以通过python访问,通过php访问的话还好。但是通过python访问的时候必须知道服务端的代码,这一点从官方给出的demo可以看出,这就比较烦人。所以我改用另外的一个python 库 :suds
  
      suds下载安装很简单,这里就不说了。这里我想写一下它是怎么用的。我们先找一个网上已经发布的webservice:
http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl (它是用.net发布的一个用来查询手机号码归属地的webservice),下面给出python客户端源代码:

#! /usr/bin/python
import suds
url = 'http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl'
client = suds.client.Client(url)
print client    #结果看图1
result =  client.service.getMobileCodeInfo(18611217787)  #这个号码是办证的,拿来测试,哈哈
print result    #结果看图2
print client.last_received()  #结果看图3

图1 
用python客户端去访问webservice - 毅 - 读书百遍,其意自现

图2
用python客户端去访问webservice - 毅 - 读书百遍,其意自现
 

图3 
用python客户端去访问webservice - 毅 - 读书百遍,其意自现
 

图1表明我们获取了一个soap 对象
图2是我们调用这个soap里面的getMobileCodeInfo,返回的结果,这里注意调用的时候不能直接client.getMobileCodeInfo(),而是 client.service.getMobileCodeInfo()

但是如果我想要知道我获取的所有东西,比如soap的消息头是什么,那么怎么办呢,没关系,我们有client.last_received(),结果就如图3所示
原创粉丝点击