0

Windows XP でいくつかのファイルをダウンロードするためのスクリプトを書かなければならなくなりました。スクリプトが実行されるマシンはすべてプロキシの背後にあり、プロキシ設定は IE 構成に入力されます。

私の頭に浮かんだのは、どうにかしてコマンド ラインから IE を呼び出し、必要な構成ダウンロード ファイルを使用することでした。いくつかのシェル技術を使用することさえ可能ですか?

他のオプションはwgetWinで使用することですが、プロキシ設定を渡す必要があります。これらの設定を IE 構成から復元するにはどうすればよいですか?

4

3 に答える 3

1

原則として、何らかの方法wgetで使用するのではなく、アプローチを使用します。IE

構成スクリプトへのパスは、 のレジストリに保存されますHKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings。これはバイナリ値で、スクリプト アドレスは位置 0x18 から始まり、ASCII エンコードされているように見えます。

私が知らないのはwget、スクリプトを単独で評価できるかどうか、またはスクリプトで明示的に解析してプロキシ アドレスを に渡す必要があるかどうかですwget

于 2008-12-10T14:59:09.607 に答える
1

wget を使用することをお勧めする Treb に同意します。プロキシ設定へのパスは、"HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer" にあります。

于 2008-12-10T15:07:13.537 に答える
1

JScript を使用します。

function ie_NavigateComplete2(pDisp, url)
{
    // output for testing
    WScript.Echo('navigation to', url, 'complete');
    // clear timer
    t = 0;
}

// create ActiveX object
var ie = WScript.CreateObject('InternetExplorer.Application', 'ie_');
ie.Height = 200;
ie.Width = 200;
ie.Visible = true;
ie.Navigate('http://www.example.com/worddoc.doc');
var t = (+new Date()) + 30000;
// sleep 1/2 second for 30 seconds, or until NavigateComplete2 fires
while ((+new Date()) < t)
{
    WScript.Sleep(500);
}
// close the Internet Explorer window
ie.Quit();

start download.js次に、またはで呼び出しますcscript download.js。VBScript でも同様のことができますが、私は JScript の方が快適です。

これは、のターゲットがie.Navigate()開く/保存/キャンセルを要求するファイルである場合にのみ機能することに注意してください。ブラウザ内で開く PDF などのファイル タイプの場合、IE は単にリソースを開いてからウィンドウを閉じますが、これはおそらく意図したとおりではありません。もちろん、ダウンロードが完了したときに IE ウィンドウを閉じない、ウィンドウを大きくするなど、ニーズに合わせてスクリプトを調整することもできます。

使用可能なイベント、メソッド、およびプロパティの詳細については、 InternetExplorer オブジェクトのドキュメントを参照してください。

この方法を使用すると、Internet Explorer のプロキシ設定を読み取ることを心配する必要はありません。Internet Explorer を使用してダウンロードを行うため、プロキシ設定が使用されます。

于 2008-12-10T15:10:53.157 に答える