ruby httpclient& NTLM

时间:2017-01-25 02:35:23

标签: ruby httpclient ntlm

我正在尝试做一些看似简单但显然不是 - 用NTLM进行身份验证。

文档中的示例(http://www.rubydoc.info/gems/httpclient/2.1.5.2/HTTPClient)看起来很简单,但是当我尝试它时,我总是得到401。

我在IIS中创建了一个简单的网站,需要NTLM。我测试了这个在IE& amp;铬。

然后我

require 'httpclient'
require 'pp'
require 'kconv'    #seemed to be needed due to a bug..
require 'rubyntlm' # probably not needed directly?  

domain = 'http://qvcluster1/'
url = 'http://qvcluster1/default.htm'
user = 'testuser'
password = 'testpassword'
client = HTTPClient.new
client.set_auth(nil ,user,password)
r = client.get("http://qvcluster1/default.htm")
pp r

根据我的理解,它没有更多,但它失败了

这是我从最后一行得到的结尾:

@reason_phrase="Unauthorized",
@request_absolute_uri=nil,
@request_method="GET",
@request_query=nil,
@request_uri=#<URI::HTTP http://qvcluster1/default.htm>,
@status_code=401>,

任何建议都表示赞赏!

顺便说一句,我只是从卷曲测试,这很好用:

"C:\Program Files\cURL\bin\curl.exe" --ntlm  -u testuser:testpassword http://qvcluster1/default.htm

1 个答案:

答案 0 :(得分:0)

虚假警报 - 事实证明,Web服务器与域控制器通信存在问题,因此它会弄乱身份验证。我删除并重新添加到域中,现在一切都很好!