python调用webservice接口实例_pythonwebservice客户端接口调用和身份验证,PythonWebService,及,问题...

最近由于业务需求,需要实现python Webservice的服务以及接口调用。服务端代码可自行百度,这里主要描述客户端以及我遇到的HTTP身份验证的问题,不多说直接上代码。

from suds.client import Client

from suds.transport.http import HttpAuthenticated

import base64

import urllib2

# 一:无需身份验证的简单调用

url = "http://localhost:8899/?wsdl"

client = Client(url) # 可以print client进行相关信息查看

client.service.methodName(*args) # 方法调用

req = str(client.last_sent()) # 保存请求报文,因为返回的是一个实例,所以要转换成str

response = str(client.last_received()) # 保存返回报文,返回的也是一个实例

# 二:需要身份验证的调用

# 1.

client = Client(url=wsdl_url, username=username, password=password)

# 2.

t = HttpAuthenticated(username=username, password=password)

client = Client(url=url, transport=t)

# 3.

t = HttpAuthenticated(username=username, password=password)

t.handler = urllib2.HTTPBasicAuthHandler(t.pm) # 这种我的报错了,t.pm告知我没这个对象

t.urlopener = urllib2.build_opener(t.handler)

client = Client(url=wsdl_url, transport=t)

# 4.

base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')

authenticationHeader = {

"SOAPAction" : "ActionName",

"Authorization" : "Basic %s" % base64string

}

client = Client(url=wsdl_url, headers=authenticationHeader)

这是我针对身份验证做的一些资料搜集、汇整。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值