現在の国を見つけるために現在のIPアドレスをテストしてみたい
だから私はこのコードを試してみてください... HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
しかし、それは常に 127.0.0.1 を返します'
ローカルの代わりに 61.90.25.10 のように、インターネット上で自分の IP アドレスを取得できる他のコードはありますか。
現在の国を見つけるために現在のIPアドレスをテストしてみたい
だから私はこのコードを試してみてください... HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
しかし、それは常に 127.0.0.1 を返します'
ローカルの代わりに 61.90.25.10 のように、インターネット上で自分の IP アドレスを取得できる他のコードはありますか。
HttpContext.Current.Request.UserHostAddress;
また
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
プロキシではなくマシンの IP アドレスを取得するには、次のコードを使用します。
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
ただし、このアプリケーションをオフラインで使用すると、PC の IP アドレスを常に受け取ることになります。これは、別の言い方をすれば、ルーターの外に出ずにサーバーに接続し直して、外部 IP が使用されていないことをサーバーが認識する IP であるためです。
サーバーをオンラインで実行してアプリケーションをテストし、印刷しようとすると、次のようになります。
Response.Write("IP Address:");
Response.Write("IP: " + HttpContext.Current.Request.UserHostAddress);
Response.Write("IP1: " + HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]);
Response.Write("IP2: " + HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]);
あなたが持っているパブリックIPが表示されます.cloudflareのようなPCに到達する前にリバースプロキシを使用している場合は注意してください.HTTP_X_FORWARDED_FOR
それ以外の場合はremote_addrまたはuserhostaddressを使用できます.