使用 Paw 的基本 HTTP 身份验证

Basic HTTP Auth using Paw

我有一个小的 python 脚本可以使用以下代码正确访问我的 API

import requests
auth = requests.auth.HTTPDigestAuth(user, password)
furl="http://10.101.0.203:8080/imcrs/plat/res/device"
r = requests.get(f_url, auth=auth )

在这种情况下,auth object 完美运行(它能够发送 GER 请求并且 auth object 能够成功验证并且我通过 HTTP 200 响应获得了预期的内容)

查看 PAW

生成的 python 代码
def send_request():
    # My API
    # GET http://10.101.0.203:8080/imcrs/plat/res/device

    try:
        response = requests.get(
            url="http://10.101.0.203:8080/imcrs/plat/res/device",
            params={
                "resPrivilegeFilter": "false",
                "start": "0",
                "size": "10",
                "orderBy": "id",
                "desc": "false",
                "total": "false",
            },
            headers={
                "AuthorizationBasic Og==": "Basic YWRtaW46YWRtaW4=",
                "Cookie": "JSESSIONID=D1B20BF4BB2FC9F458C8A45821FE0BDB",
            },
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

看来 PAW 正在对身份验证字符串进行编码,然后在 headers 中发送,这会导致立即出现 401 错误。

这个headers和上面创建的authobject一样吗?试图弄清楚为什么这不起作用。

在您正在使用的 python 代码中 HTTPDigestAuth 这与 Basic auth 不同 Basic auth paw 目前不支持 HTTPDigestAuth。