我有一个小型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 )
在这种情况下,身份验证对象工作得很好(它能够发送GER请求,并且身份验证对象能够成功地进行身份验证,并且我通过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似乎正在对auth字符串进行编码,然后在报头中发送,这导致立即401错误。
标头与上面创建的auth对象相同吗?试图弄清楚为什么这不起作用。
在您的工作python代码中,您使用的是HTTPDigestAuth
,这与Basic auth
不同。paw当前不支持HTTPDigestAuth。