我需要检查所有超链接是否仍然在受密码保护的私人网站上运行。这样做的最佳方式是什么?
该网站混合使用HTML和ASP.NET Webforms。
编辑:对不起 - 我认为这个问题不清楚。
我需要这样的东西:
http://validator.w3.org/checklink
但对于隐藏在用户/通行证表单后面的网站。我不介意以编程方式做某事或者在合理的情况下购买东西。
答案 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的网站 - 我们已经在客户端网站上使用它已经有一段时间了。
需要注意的主要事项是:
答案 2 :(得分:1)
我喜欢使用SimpleTest来测试我自己的网站,但是没有内置的链接检查器。
您可以使用它来导航登录并获取页面正文。然后,您将使用正则表达式解析内容以查找所有链接,并再次使用SimpleTest验证这些链接(甚至抓取它们以递归验证)。
当然,使用cURL(或使用您选择的语言的libcurl)也会让您非常接近。
答案 3 :(得分:0)
您只需要验证WebRequests ...
你被困在哪里?
- 编辑
嗯,这取决于'密码保护'的含义。登录方案是如何实现的?
答案 4 :(得分:0)
您可以使用Apache httpclient
features来执行此操作