Я пытаюсь сделать то, что выглядит простым, но явно не является - аутентифицироваться с помощью NTLM.ruby httpclient & NTLM
пример в документации (http://www.rubydoc.info/gems/httpclient/2.1.5.2/HTTPClient) выглядит просто, но когда я пытаюсь это я всегда получаю 401.
Я создал простой веб-сайт в IIS whch требует NTLM. Я тестировал это в IE & хром.
Я тогда
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
NB: У меня есть пример, который поставляется с rubyntlm для работы, поэтому это явно проблема с моим кодом или HTTPClient –