【发布时间】:2011-12-28 15:36:23
【问题描述】:
从一个 ASP.NET 页面,我能够检索到客户端的 IP 地址(至少是明显的)。
我想知道是否有可以从代码隐藏访问的免费服务,当使用 IP 查询时将返回国家(不需要城市)。
我无法使用基于 Web http 的服务,您必须手动输入 IP,我每天有数千次访问!
欢迎提供任何线索。
【问题讨论】:
标签: asp.net web-services geoip
从一个 ASP.NET 页面,我能够检索到客户端的 IP 地址(至少是明显的)。
我想知道是否有可以从代码隐藏访问的免费服务,当使用 IP 查询时将返回国家(不需要城市)。
我无法使用基于 Web http 的服务,您必须手动输入 IP,我每天有数千次访问!
欢迎提供任何线索。
【问题讨论】:
标签: asp.net web-services geoip
【讨论】:
是的,Check It Out!
祝你好运!
已编辑:由于您没有指定语言,我继续创建自己的密钥用于测试目的并制作了这个小示例。这将获取任何给定 IP 地址的国家/地区。祝你好运。
Try
Dim webClient As WebClient = New WebClient
'I am at work so i need a proxy authentication
'webClient.Proxy.Credentials = New NetworkCredential("username", "password")
Dim stream As Stream = webClient.OpenRead("http://api.ipinfodb.com/v3/ip-country/?key=<key here>&ip=" & Context.Request.ServerVariables("REMOTE_ADDR"))
Dim sReader As New StreamReader(stream)
Dim content As String = sReader.ReadToEnd()
Response.Write(content.Split(";")(4))
Catch ex As Exception
Response.Write("Error occured")
End Try
【讨论】:
发现这可能是你的胡同。
【讨论】: