链接检查受密码保护的网站

时间:2009-09-21 10:50:01

标签: asp.net web hyperlink

我需要检查所有超链接是否仍然在受密码保护的私人网站上运行。这样做的最佳方式是什么?

该网站混合使用HTML和ASP.NET Webforms。

编辑:对不起 - 我认为这个问题不清楚。

我需要这样的东西:

http://validator.w3.org/checklink

但对于隐藏在用户/通行证表单后面的网站。我不介意以编程方式做某事或者在合理的情况下购买东西。

5 个答案:

答案 0 :(得分:2)

你应该认真看看unix命令行工具来做到这一点。 Esp wget

结合使用--spider选项和--user和--password选项......

另请参阅curl或libcurl+php

对于你的问题,有两件事情并不清楚。

首先,需要什么样的用户/密码。这些可以是POST值,也可以是http协议的用户名和密码。你要哪个?有几种方法可以为网站提供用户名和密码,无论您使用何种解决方案,都必须使用您的网站。这意味着您必须非常准确地了解您正在使用哪种方法。只是它有一个用户名和密码的事实并不是足够的信息。

其次不清楚你的意思是“链接仍然有用”你的意思是内部链接根据你的应用程序的正常运行将会或不会工作,或者你的意思是链接到碰巧在的公共Internet站点受密码保护的网站?

我假设后者有了这个答案。但是,如果您的意思是前者,那么您应该查看最近推出的几个Web应用程序测试套件之一。

HTH, FT

答案 1 :(得分:1)

Rel Software的Web Link Validator非常乐意使用基于Forms Auth的网站 - 我们已经在客户端网站上使用它已经有一段时间了。

需要注意的主要事项是:

  1. 首先将链接检查器发送到您的登录页面。
  2. 确保您告诉它忽略所有退出网址(因此它不会无意中将自己退出)。

答案 2 :(得分:1)

我喜欢使用SimpleTest来测试我自己的网站,但是没有内置的链接检查器。

您可以使用它来导航登录并获取页面正文。然后,您将使用正则表达式解析内容以查找所有链接,并再次使用SimpleTest验证这些链接(甚至抓取它们以递归验证)。

当然,使用cURL(或使用您选择的语言的libcurl)也会让您非常接近。

答案 3 :(得分:0)

您只需要验证WebRequests ...

你被困在哪里?

- 编辑

嗯,这取决于'密码保护'的含义。登录方案是如何实现的?

答案 4 :(得分:0)

您可以使用Apache httpclient

features来执行此操作