2012-05-02 5 views
0

を返す保ちます... HttpContext.Current.Request.ServerVariables ["REMOTE_ADDR"];私は[「REMOTE_ADDR」] ServerVariablesを使用してIPをチェックしてみたいけど、それは私が、私はこのコードを試してみてください現在の国に</p> <p>を見つけるために、現在のIPアドレスをテストしてみたい127.0.0.1

が、それは常に

127.0.0.1' を返している私は地元の代わりにのようなインターネット上の61.90.25.10 を自分のIPアドレスを取得することができ、他のコードがあります。

+3

解決したい言語でタグを付けてください。 –

答えて

5
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"]); 

あなたはあなたのCloudFlareのようなあなたのPCに達する前にリバースプロキシを使用していることを確認した場合に世話をし、あなたが持っているパブリックIPが表示されますHTTP_X_FORWARDED_FORを使用する場合は、remote_addrまたはuserhostaddressを使用できます。

関連する問題

 関連する問題