0

WebブラウザーとWebサーバーの間に配置するHttpプロキシを作成しています。要件に基づいて、プロキシサーバーは要求を行ったWebブラウザーのIPアドレスポート番号を取得する必要があります。これは、プロキシとWebブラウザ間の接続を表すクラスです。

  public class Client
  {
    public Client(IPAddress browserIP, int browserPort)
    {
       /*Use browserIP and browserPort to create a socket object*/
    }
  }

HttListenerオブジェクトもHttpRequestオブジェクトも使用していないことに注意してください。HttpRequestオブジェクトが実行しないhttpヘッダーやその他のものを設定できるカスタムRequestオブジェクトを作成しましたが、RequestオブジェクトにはブラウザーのIPアドレスとポートを取得するメソッドがありません。

4

2 に答える 2

1

このクラスをチェックしてください

Requestオブジェクトを使用して、要求側のIPを取得できます。

string remoteAddr = Request.UserHostAddress;

編集:それはあなたにホスト名を取得します。始めるのに十分です!

于 2011-12-04T07:32:49.557 に答える
1
  string  ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if (ipaddress == "" || ipaddress == null)
                ipaddress = Request.ServerVariables["REMOTE_ADDR"];

上記をお試しください。要求元のクライアントのIPをフェッチします。

于 2011-12-04T07:32:55.473 に答える