Zeep错误:requests.exceptions.MissingSchema:无效的URL'/ webservices'

时间:2019-05-23 13:27:54

标签: python-3.x zeep

我正在尝试从地址为 https://recette.alcyon.com/webservices?wsdl wsdl 文件中检索一些数据。我已经尝试过可以正常工作的Php代码,现在我需要使用Python 3,这就是为什么我要使用 zeep 库的原因。

代码如下:

from hashlib import sha1
from base64 import b64encode
import binascii


class RevCrypt:


    def __init__(self,key, data): 
        self.key = sha1(key.encode('utf-8')).hexdigest()
        self.data = data

    def code(self, the_string):

        self.data = ''
        for i in range(0, len(the_string)):
            if(i==0):
                kc = self.key[-1:]
            else:
                kc = self.key[((i % len(self.key))-1): (((i % len(self.key))-1)+1)]

            self.data += chr(ord(the_string[i]) + ord(kc))


        self.data = b64encode(self.data.encode('latin-1'))

        return self.data.decode()



import datetime
from zeep import Client, Settings
from zeep.plugins import HistoryPlugin

code_client = '108343'
public_key = 'PLACEDESVETOS'
password =  'KoeME'
private_key =  'W3b23rvic3sv3t0s'

today = datetime.date.today().strftime("%Y%m%d")

arg = ''
arg = today+'$'+code_client+private_key

Rev = RevCrypt(arg, '')
token = Rev.code(password)
auth_token = public_key+' '+code_client+':'+token

custom_http_headers = {"Authorization" : auth_token}

history = HistoryPlugin()

client = Client('https://recette.alcyon.com/webservices?wsdl', plugins=[history])

with client.settings(extra_http_headers=custom_http_headers):
    response = client.service.getalladresse(code_client)
    print(history.last_sent)

因此,运行此代码会出现以下错误:

  

requests.exceptions.MissingSchema:无效的URL'/ webservices':未提供任何模式。也许您是说http:///webservices

这让我认为zeep会“忘记”使用完整的URL来访问服务。但是我看不到更多,我想查看zeep发送的完整请求,以将其与从Php代码发送的请求(有效)进行比较,因此您使用了 history 插件,如您所见在我的代码中,但似乎没有显示任何请求错误(我认为这仅适用于有效的请求)。

非常感谢

Aymeric

p.s:如果您提出要求,我也可以提供可以使用的Php代码

0 个答案:

没有答案