2017-01-25 1 views
0

Ich versuche zu tun, was einfach aussehen, aber eindeutig nicht - authentifizieren mit NTLM.ruby ​​httpclient & NTLM

Das Beispiel in der Dokumentation (http://www.rubydoc.info/gems/httpclient/2.1.5.2/HTTPClient) sieht einfach, aber wenn ich es versuche ich immer ein 401.

ich eine einfache Website in IIS whch NTLM erfordert erstellt. Ich testete das funktioniert in IE & Chrom.

mich dann

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 

Von meinem Verständnis gibt es nicht viel mehr zu bieten, aber es versagt

dies ist das hintere Ende von dem, was ich von der letzten Zeile erhalten:

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

Irgendwelche Vorschläge werden geschätzt!

Als beiseite, ich habe gerade von curl getestet und das funktioniert gut:

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

NB: Ich habe das rohe Beispiel, das mit rubyntlm kommt zu bekommen, so ist es eindeutig ein Problem mit meinem Code oder HTTPClient –

Antwort

0

False Alarm - wie es sich herausstellt, waren mit dem Domänencontroller Probleme mit dem Web-Server zu kommunizieren, so dass es die Authentifizierung wurde vermasselt . Ich habe es entfernt und wieder zur Domain hinzugefügt und alles ist in Ordnung!