3

从 ASP.NET 页面,我能够检索客户端的 IP 地址(至少是明显的 IP 地址)。

我想知道是否有可以从代码隐藏访问的免费服务,当使用 IP 查询时将返回国家(不需要城市)。

我无法使用基于 Web http 的服务,您必须手动输入 IP,我每天有数千次访问!

欢迎任何线索。

4

3 回答 3

4

我使用WIPmania,非常非常容易:

http://api.wipmania.com/123.45.67.89

返回两个字母的国家代码(“KR”大韩民国)

KR
于 2011-12-28T17:00:36.733 回答
3

是的,检查一下

祝你好运!

已编辑:由于您没有指定语言,因此我继续创建了自己的密钥用于测试目的并制作了这个小示例。这将获取任何给定 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
于 2011-12-28T15:38:24.217 回答
0

发现这可能是你的胡同。

IP2位置

于 2011-12-28T15:40:36.580 回答