如何使用域、用户和密码对节点使用 NTLM 身份验证?

问题描述

我想使用 nodejs 对一个名为 yucata.de 的棋盘游戏网站进行身份验证。

通过 Python

查看 Chrome devtools 的标头,看起来它在其 cookie 中使用了 ASP.NET_SessionId.Stackify.Run 和 168 十六进制值 Yucata内容类型为 { {1}}。鉴于 ASP.NET 组件,我尝试使用 python 的 NTLM 库,它与 requests_ntlm 主页上给出的示例代码一起使用:

multipart/form-data; boundary=----WebKitFormBoundary

此处概述了需要身份验证的路由。

尝试使用 node 和 httpntlm

使用 httpntlm 的示例代码,我得到 401:

import requests
from requests_ntlm import HttpNtlmAuth

requests.get("http://www.yucata.de/en/Overview",auth=HttpNtlmAuth(f'domain\\{user}',password
))

响应的标题(结合一个 h3)是

401 - Nicht autorisiert:Zugriff aufgrund ung�ltiger Anmeldeinformationen verweigert。 Die angegebenen Anmeldeinformationen berechtigen Sie nicht,dieses Verzeichnis oder diese Seite anzuzeigen。

通过谷歌翻译翻译成英文是

401 - 未经授权:由于凭据无效而拒绝访问。提供的凭据并未授权您查看此目录或此页面

我认为上面的代码可以工作,因为 httpntlm 是 python 库的一个端口。 我已经仔细检查了两个代码段中的用户名和密码是否相同。

问题

为什么我在使用域、用户、pass 时使用 httpntlm 获得 401,但可以使用它从它移植过来的库 requests_ntlm,具有相同的值?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)