2010-08-02 132 views
1

以下代码会生成401 => Net :: HTTPUnauthorized错误。机械化和NTLM身份验证

从日志:


response-header: x-powered-by => ASP.NET 
response-header: content-type => text/html 
response-header: www-authenticate => Negotiate, NTLM 
response-header: date => Mon, 02 Aug 2010 19:48:17 GMT 
response-header: server => Microsoft-IIS/6.0 
response-header: content-length => 1539 
status: 401 

脚本如下:


require 'rubygems' 
require 'mechanize' 
require 'logger' 

agent = WWW::Mechanize.new { |a| a.log = Logger.new("mech.log") } 

agent.user_agent_alias = 'Windows IE 7' 

agent.basic_auth("username","password") 

page = agent.get("http://server/loginPage.asp") 

我相信401的原因是,我需要使用NTLM来验证,但我一直无法找到一个如何做到这一点的好例子。

+0

这使我更接近 http://speakmy.name/2010/01/19/ntlm-authentication-for-ruby-with-typhoeus-and-curl/ 我设置了ntlmaps代理,但可以没有看到得到那个工作 – 2010-08-03 15:55:44

回答

-1

机械化2支持NTLM AUTH:

m = Mechanize.new 
m.agent.username = 'user' 
m.agent.password = 'password' 
m.agent.domain = 'addomain' 
+2

没有方法用户名= For Mechanize :: Agent – iGallina 2014-04-02 19:34:34