我正在使用urllib npm包,以下是我的代码:
options = {
method: 'GET',
rejectUnauthorized: false,
digestAuth: `${user}:${pass}`
}
urllib.request(uri, options, function (err, data, res) {
if (err) {
throw err; // you need to handle error
}
console.log(res.statusCode);
console.log(res.headers);
// data is Buffer instance
console.log(data.toString());
})
很不幸,我收到了一个401错误:
401 { 'content-length': '222', 'content-type': 'text/plain',
connection: 'close', 'www-authenticate': 'Digest realm="000f7c16eacc", nonce="8652e7dfa50f6124896b84142eef93b5", stale="false", algorithm="MD5", qop="auth"', 'x-frame-options': 'SAMEORIGIN' } { "Response": { "ResponseURL": "/images/snapshot.jpg", "ResponseCode": 3, "SubResponseCode": 0, "ResponseString": "Not Authorized", "StatusCode": 401, "StatusString": "Unauthorized", "Data": "null" } }
当通过postman访问时,相同的uri、用户名和密码可以正常工作。我在这个请求中缺少哪些配置细节?urllib没有提供摘要认证示例。
我没有使用urllib,我将接受任何能够从摘要认证端点拉取图像的nodejs解决方案。