2009-04-28 8 views

答えて

4

を:

Request.UserHostAddress 

あなたが取得するには、このWebサービスを使用することができますその地理的位置。 http://iplocationtools.com/ip_location_api.php

+0

ちょうど参考までに、プロパティではありません。方法ではありません:) –

+0

thxが括弧を削除しました –

+0

プロキシの背後にいる場合、これは機能しません。私の答えを見てください。 – Anthony

3
string VisitorIPAddress = Request.UserHostAddress.ToString(); 

とIPアドレスに基づいて、あなたは場所絞り込むことができます。ユーザーのIPの使用を取得するにはfind the geographical location of a host

0

さて、次のプロパティがあなたの場所については

Request.UserHostAddress 

をtehのクライアント(またはクライアントプロキシサーバ)のIPアドレスを与える必要があり、あなたはMaxMindのようないくつかのGeoIP /ジオロケーションプラグインを使用する必要があるだろうそれを理解する。

http://www.maxmind.com/

0

IPを取得するために実行します。

Request.UserHostAddress 

をそして、あなたは、このようにWebサービス(遅い)またはデータベース(速い)を使用して、場所にIPをマッピングすることができます http://ip-to-country.webhosting.info/node/view/5

0

それはサーバー技術に依存しませんが、GoogleのAJAXローダーでピギーバックをお勧めします:http://code.google.com/apis/ajax/documentation/#ClientLocation

それはJavascriptであり、人の都市/州/国(あなたはIPアドレスに基づいて推測します)を提供します。それをサーバーにポストしてください。それはASP.NETなどで利用できます。

1

あなたがプロキシの背後にいる場合、Request.UserHostAddressは機能しません。それはあなたがSplit関数を使用する必要がカンマで区切られた複数のIPアドレスを返すことができるように使用されなければならないHTTP_X_FORWARDED_FOR

public static String GetIPAddress() 
{ 
    String ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; 
    if (string.IsNullOrEmpty(ip)) 
     ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 
    else 
     ip = ip.Split(',')[0]; 

    return ip; 
} 

注しかし:このコードを使用します。詳細は、this pageを参照してください。

関連する問題