9

HTTP 要求を実行するときに DNS をバイパスすることは可能ですか?

NLB を通過せずに、正しいホスト ヘッダーを使用して、HTTP 要求でフロントエンドを直接ヒットしたい。サーバーの IP があるので、DNS をバイパスする必要があります。

URL を IP に置き換え、Host ヘッダーを設定して WebRequest を使用しようとしましたが、このヘッダーは保護されています。

どうやってやるの ?HTTP リクエストを自分で作成する必要がありますか?

注: ホスト ファイルの編集はオプションではありません

4

4 に答える 4

7

この質問がされた時点では、これは WebRequest クラスでは実行できませんでした。ただし、この質問の結果として発生した Microsoft Connect の問題に続いて、Microsoft は Host プロパティを .Net バージョン 4.0 の HttpWebRequest クラスに追加しました。そのため、.net 4.0 以降を使用している場合は、このコードで目的を達成できます。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://127.0.0.1");
Request.Host = "www.example.com"

.Net のバージョン 4 より前では、唯一の現実的なオプションは、ソケットを開いて HTTP 要求を自分で実行するか、より多くの機能を持つサード パーティ コンポーネントを見つけることです。

于 2008-11-27T11:54:35.633 に答える
3

プロキシをリモートサーバーのIPアドレスに設定する必要があることをなんとか実行しました:

request.Proxy = new WebProxy(ip.ToString());

すべてのシナリオで機能するわけではありませんが、私の場合は機能しました。

于 2008-12-11T13:49:41.743 に答える
0

私自身も同様の問題を抱えていましたが、ソケットを使用して問題を回避することができました(Martin Brownが述べたように。私の答えは次のとおりです:https ://stackoverflow.com/questions/359041/request-web-page-in-c-spoofing -the-host#359299

于 2008-12-11T13:22:23.953 に答える