-1

我需要获取存储在我公司服务器上的 aspx 页面的来源,我无权访问服务器(或任何服务器 - 所以不考虑服务器语言),我在我的 PC 上使用 HTA localy。

我写了这段代码:(JavaScript)

var WshShell = new ActiveXObject("WScript.Shell");
        WshShell.Run("telnet -fh:/telnetlog.txt xxx.xxx.xxx.com 80"); //The host address


setTimeout("WshShell.SendKeys('GET /subfolder/page.aspx HTTP/1.0~~')",1000);

它在家里有很多页面,但现在我有 HTTP/1.1 401..

我能做些什么呢?我从 IE 进入这个页面没有任何问题。任何其他想法也可以考虑!

谢谢, 罗特姆

4

2 回答 2

1

正如我所理解的:您想在您无权访问的服务器上下载网页的 aspx 代码?严重地?

只需致电网络管理员即可。如果你真的为那家公司工作并且被授权获得这些信息,那么他们可以帮助你。

如果不是这样,我希望 SO 上的其他人比尝试为您破解机器更好。

于 2011-01-07T17:30:51.043 回答
1

401 表示服务器希望您进行身份验证,可能使用 NTLM。我严重怀疑是否有可能使用 JScript 和 telnet 实现 NTLM。

HTA 的运行安全性低于常规网页 - 因此,您可能能够使用跨站点 XmlHttpRequest 获取页面。这将通过 IE 的安全层,它应该(?)从您的浏览器向请求提供 NTLM 凭据。


使用 HTA 中的 XmlHttpRequest 就像使用浏览器中的一样:

var url = "http://my-server/my-page.aspx";
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        do_something(xhr.responseText);
    }
}
xhr.open("GET", url, true);
xhr.send();

responseText参数将包含服务器的响应(HTML)。

您还应该能够使用 jQuery 之类的 javascript 库,而不是编写自己的支持代码。

于 2011-01-07T07:27:11.270 回答