[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

ntlm example

sean_n

3/10/2007 1:30:00 AM

1 Answer

Kohei Kajimoto

3/13/2007 12:33:00 AM

0

On 3/9/07, sean nakasone <seannakasone@yahoo.com> wrote:
> Can someone please provide me with a simple ntlm example?

The following chunk of code works in my environment: IIS 6.0, ruby
1.8.5 [i386-cygwin], and non-standard rubyntlm 0.1.1.

http://rubyforge.org/projects...

----
require 'socket'
require 'net/ntlm'

$user = "koheik"
$passwd = "password"

$host = "www"
$port = 80

def header(s, host, msg)
s.print "GET / HTTP/1.1\r\n"
s.print "Host: #{host}\r\n"
s.print "Authorization: NTLM " + msg + "\r\n"
s.print "\r\n"
end

client = TCPSocket.new($host, $port)

# client -> server
t1 = Net::NTLM::Message::Type1.new()
header(client, $host, t1.encode64)

# server -> client
msg = ''
while(line = client.gets)
if /^WWW-Authenticate: (NTLM|Negotiate) (.+)\r\n/ =~ line
msg = $2
end
break if /^\r\n/ =~ line
end

if(msg)
t2 = Net::NTLM::Message.decode64(msg)
t3 = t2.response({:user => $user, :password => $passwd}, {:ntlmv2 => true})
header(client, $host, t3.encode64)
end

client.shutdown(1)
response=client.readlines
puts response
client.close
----

Thanks,
Kohei