-1

会社のサーバーに保存されている aspx ページのソースを取得する必要があります。サーバーにアクセスできません (または任意のサーバー - サーバー言語は考慮されません)。PC で HTA ローカルを使用しています。

私はこのコードを書きました: (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

401 は、サーバーがおそらく NTLM を使用して認証を求めていることを意味します。JScript と telnet を使用して NTLM を実装できるかどうか、私は真剣に疑っています。

HTA は、通常の Web ページよりも低いセキュリティで実行されます。そのため、クロス サイト XmlHttpRequest を使用してページを取得できる場合があります。これは IE のセキュリティ レイヤーを通過し、(?) ブラウザーからの NTLM 資格情報を要求に提供する必要があります。


HTA から XmlHttpRequest を使用するのは、ブラウザーから 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 に答える
1

アクセス権のないサーバー上の Web ページの aspx コードをダウンロードしたいですか? 真剣に?

ネットワーク管理者に電話するだけです。あなたが本当にその会社で働いており、この情報を取得する権限がある場合、彼らはあなたを助けることができます.

そうでない場合は、SO の他のユーザーが、あなたのためにマシンをハッキングしようとするよりも、落ち着いて行動できることを願っています。

于 2011-01-07T17:30:51.043 に答える