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

时间:2021-06-15 00:36:49

标签: node.js web-scraping python-requests ntlm ntlm-authentication

我想使用 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,具有相同的值?

0 个答案:

没有答案