1

ロードバランサーの背後にあるWebページの可用性をテストしようとしています。そこで、各Webサーバーから個別にページをロードするPowerShellスクリプトを作成したいと思います。問題は、サーバーがホストヘッダーを使用しているため、IPアドレスを手動で指定できず、別のサーバーに負荷分散される可能性があるため、URLだけを使用できないことです。理想的には、私はこのようなものを探しています。

$wc = New-Object net.webclient
$wc.downloadString("10.0.0.1", "http://test.com/home.html")

しかし、私はそれを行う方法を理解することはできません。私はPowerShellを使用したいと思いますが、その仕事を実行できる別のWindowsユーティリティがあれば、私はそのアイデアを受け入れるでしょう。

4

1 に答える 1

2

これは古い質問であることは知っていますが、最近、自分でこれを達成する必要があり、解決策を探してこれに出くわしました。他の場所では答えが見つかりませんでしたが、自分で見つけることができたので、誰かが同じことをする必要がある場合に備えて共有したいと思いました.

IP で呼び出しを行う前に、ホストを指定するヘッダー値を追加する必要があります。

$wc = New-Object net.webclient
$wc.Headers.Add("Host", "test.com")
$wc.DownloadString("http://10.0.0.1/home.html")

これにより、ホストヘッダー情報も含まれているため、要求が正常に解決されることを確認しながら、ページ要求を送信するサーバーを WebClient 呼び出しに通知します。

*これを独自のニーズに合わせて調整する場合、WebClient 呼び出しを行うたびにヘッダー値がリセットされることに注意してください。そのため、必ず $wc.Headers.Add() と $wc.DownloadString() を一緒に実行してください。

于 2015-03-31T23:23:21.453 に答える