python - 用 suds 为 SOAP 编写 python 客户端

标签 python soap https suds

我想将 perl SOAP 客户端转换为 python SOAP 客户端。 perl 客户端初始化如下

$url = 'https://host:port/cgi-devel/Service.cgi';
$uri = 'https://host/Service';

my $soap = SOAP::Lite 
    -> uri($uri)
    -> proxy($url);

我试图用 suds 0.3.6 在 python 2.4.2 中复制它

from suds.client import Client

url="https://host:port/cgi-devel/Service.cgi" 
client=Client(url)

但是当运行这个 python 脚本时我得到了错误

suds.transport.TransportError: HTTP Error 411: Length Required

是因为 https 还是可能是什么问题? 任何帮助将不胜感激!

最佳答案

urllib2 模块不会像 suds 那样手动构造 Request 对象时自动添加 Content-Length(POST 方法需要) header 。您必须修补泡沫,可能是 suds.transport.HttpTransport.open() 方法或 suds.transport.Request 类。

关于python - 用 suds 为 SOAP 编写 python 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1476814/

相关文章:

python - geo_point映射python和StreamSets随Elasticsearch失败

node.js - express 4 中的 HTTPS

iis - 如何从单独的 .crt/.p7b 文件转换为 .pfx 文件

android - 简单的android https请求?

python - 使用在 python 和 scala 中创建的相同 redis 池实例

python - 如果与当前标记相同,则删除句子中的前一个标记 python

python - 使用 utf8mb4 连接到 mysql 5.7.9 数据库时出现问题

c++ - 在 C/C++ 上传输数据的最佳(最简单)方法是什么

python - 如何在zeep客户端中发送参数

javascript - {SOAP UI} 有没有办法从项目拆卸中调用一个测试用例步骤