Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python3 zeep url提供401客户端错误:url未经授权_Python_Python 3.x_Soap_Http Status Code 401_Zeep - Fatal编程技术网

python3 zeep url提供401客户端错误:url未经授权

python3 zeep url提供401客户端错误:url未经授权,python,python-3.x,soap,http-status-code-401,zeep,Python,Python 3.x,Soap,Http Status Code 401,Zeep,我的命令:python3-mzeephttps://pearson:m0bApP5@cms.powerschool.com/pearson rest/services/PublicPortalServiceJSON?wsdl 我得到一个错误: requests.exceptions.HTTPError:401客户端错误:url未经授权:https://pearson:m0bApP5@cms.powerschool.com/pearson rest/services/PublicPortalSer

我的命令:
python3-mzeephttps://pearson:m0bApP5@cms.powerschool.com/pearson rest/services/PublicPortalServiceJSON?wsdl

我得到一个错误:
requests.exceptions.HTTPError:401客户端错误:url未经授权:https://pearson:m0bApP5@cms.powerschool.com/pearson rest/services/PublicPortalServiceJSON?wsdl

转到
https://cms.powerschool.com/pearson-rest/services/PublicPortalServiceJSON?wsdl
和使用pearson和m0bApP5进行手动身份验证都是可行的,但为什么不可行呢

我也尝试过使用这段代码,但也不起作用

#!/usr/bin/env python3
from zeep import Client
from requests.auth import HTTPBasicAuth  # or HTTPDigestAuth, or OAuth1, etc.
from requests import Session
from zeep.transports import Transport
session = Session()
session.auth = HTTPBasicAuth("pearson","m0bApP5")
url = "https://cms.powerschool.com/pearson-rest/services/PublicPortalServiceJSON?wsdl"
stransport = Transport(session=session)
client = Client(url,transport=stransport)
client.wsdl.dump()

您应该像这样使用HTTPDigestAuth:

session = requests.session()
session.auth = requests.auth.HTTPDigestAuth(api_username, api_password)
self.url = base_url + "pearson-rest/services/PublicPortalServiceJSON"
try:
    self.client = zeep.Client(
        wsdl=self.url + "?wsdl",
        transport=zeep.transports.Transport(session=session),
    )
except requests.exceptions.ConnectionError:
        raise APIException(f"Could not connect to {base_url}.")
    except requests.exceptions.HTTPError:
        raise APIException(
            f"Incorrect api credentials ({api_username}, {api_password})."
        )

您不应在公共网站上发布身份验证凭据。