サーバー変数を実際に使用できない場合、またはIPだけでなく地理情報も必要な場合は、次のようなものが必要になります。
<!-- Get geo information -->
<script type="text/javascript"
src="http://geoiplookup.wikimedia.org/">
</script>
<!-- JavaScript object-to-JSON -->
<!-- Don't actually hotlink this; host it yourself -->
<script type="text/javascript"
src="https://github.com/douglascrockford/JSON-js/blob/master/json2.js">
</script>
<!-- Hidden field to hold result -->
<asp:HiddenField id="hdnGeo" runat="server"></asp:HiddenField>
<!-- Script to populate field -->
<script type="text/javascript">
document.getElementById('<%= hdnGeo.ClientID %>').value =
JSON.stringify(Geo);
</script>
これにより、Geoオブジェクトに相当するJSONがgeoiplookupリファレンスに配置されます
{"city":"London","country":"GB","lat":"51.514198","lon":"-0.093100",
"IP":"193.129.26.250","netmask":"24"}
ASP.NETの非表示フィールドに。
次に、サーバー上で、次のようにアクセスできます。
protected void Button1_Click(object sender, EventArgs e)
{
string json = hdnGeo.Value;
var dictionary = new JavaScriptSerializer()
.Deserialize<Dictionary<string, string>>(json);
string city = dictionary["city"];
string lat = dictionary["lat"];
string lon = dictionary["lon"];
string IP = dictionary["IP"];
string netmask = dictionary["netmask"];
}