Haskell中的NTLM身份验证

时间:2019-08-16 13:42:15

标签: haskell ntlm http-authentication

在我的Haskell程序中,我需要与需要NTLM身份验证的服务器通信。我知道这是因为服务器回答了

401 ... WWW-Authenticate: NTLM

应我的要求。当我在Chrome浏览器中访问网站并跟踪HTTP对话时,很明显,正在进行某种形式的质询-响应身份验证。

在Haskell中是否可以执行这种身份验证?以前,我一直在使用 req 库执行HTTP请求,但它似乎不支持NTLM身份验证。我还了解,一旦连接经过身份验证,NTLM要求对所有流量重新使用单个TCP连接。通过阅读文档,我没有看到在 req 中实现这一目标的任何明显方法。

1 个答案:

答案 0 :(得分:1)

我还没有尝试过,也不知道NTLM,但是看起来libcurl bindings拥有您所需的东西。

也许您可以使用它们来构建类似this的东西。您可以尝试:

curlGet "http://url.com" [CurlHttpAuth [HttpAuthNTLM], CurlUserPassword "username:password"]