免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3872 | 回复: 5
打印 上一主题 下一主题

LWP访问网页如何验证windows域用户 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-08 18:21 |只看该作者 |倒序浏览
最近需要使用perl来访问公司内部的一个网页,这个网页是采用windows域用户验证的。

我用 lwp:agent 怎么都验证不过去,有朋友用过类似的吗?

如下,是我用自己的机器搭的IIS,然后启用了windows域验证:

用最简单的程序来访问如下:
#!/usr/bin/perl

#use strict;

use warnings;
use LWP::UserAgent;
use HTTP::Request::Common;
use LWP::Debug qw(+);

my $url='http://158.65.228.113:80/index.htm';
my $ua = new LWP::UserAgent(keep_alive=>1);
#$ua->agent('Mozilla/4.0');

$ua->credentials('158.65.228.113:80', 'TD.teta.com', 'TD.teta.com\\gd185052', 'Teewu5');

 $request = GET $url;
 print "--Performing request now...-----------\n";
 $response = $ua->request($request);
 print "--Done with request-------------------\n";

 if ($response->is_success) {print "It worked!->" . $response->code . "\n";}
 else {print "It didn't work!->" . $response->code . "\n";}



得到的结果始终是验证未通过 401.

难道iis现在不是用ntlm来验证的了吗?

谢谢啦!

[ 本帖最后由 radarwave 于 2008-10-10 10:22 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-10-08 21:19 |只看该作者
这种问题的解决思路是
先通过浏览器访问,然后抓包分析,看走的是什么认证协议
然后写代码来实现
windfaddy 该用户已被删除
3 [报告]
发表于 2008-10-09 21:36 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2008-10-10 10:24 |只看该作者
原帖由 windfaddy 于 2008-10-9 21:36 发表
$ua->credentials('158.65.228.113:80', 'TD.teta.com', 'TD.teta.com\\gd185052', 'Teewu5');

两个问题,一个是冒号你用了全角的。
另个是Realm是写登陆的域,你确定那个名字是正确的?done。。
我在之前 ...


先谢谢啦!

不好意思,冒号是后来编辑时弄错的

realm的话,windows下 IIS建的服务器,有realm吗? 好像iis里没有定义的这项。  不过我用程序看head里返回的信息,就是这个 TD.teta.com 。以下是我得到的信息:

Date: Fri, 10 Oct 2008 02:41:47 GMT
Server: Microsoft-IIS/6.0
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
Content-Length: 1656
Content-Type: text/plain
Client-Date: Fri, 10 Oct 2008 02:41:47 GMT
Client-Peer: 158.68.251.246:80
Client-Response-Num: 1
Client-Warning: Unsupported authentication scheme 'ntlm'
X-Powered-By: ASP.NET

[ 本帖最后由 radarwave 于 2008-10-10 10:42 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-10-10 11:09 |只看该作者

回复 #4 radarwave 的帖子

下面是我访问我自己搭的服务器的信息:

Date: Fri, 10 Oct 2008 03:06:23 GMT
Server: Microsoft-IIS/5.1
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
WWW-Authenticate: Digest qop="auth", realm="TD.teta.com", nonce="246c6ed2659c39389589832000007ef3b5443af0808abb728c931a816e82"
Content-Length: 4431
Content-Type: text/html
Content-Type: text-html; charset=Windows-1252
Client-Date: Fri, 10 Oct 2008 03:06:23 GMT
Client-Peer: 158.68.228.113:80
Client-Response-Num: 1
Client-Warning: Unsupported authentication scheme 'ntlm'
Title: You are not authorized to view this page
X-Meta-ROBOTS: NOINDEX

论坛徽章:
0
6 [报告]
发表于 2008-10-15 10:22 |只看该作者
有大虾知道吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP