使用网址确定国家/地区或语言

时间:2010-09-03 15:08:59

标签: vb.net

我编写了简单的代码,使用网址上的后缀来确定国家/地区位置,例如。 .cn,.se,.br等。

是否有人有任何想法,甚至可以使用以.com或.net结尾的网址来确定国家/地区或位置?

我刚刚读了一些东西,发现可以从ip确定位置/国家的在线应用程序,那么我如何确定ip或使用url查找?我可以在.net吗?

所以我有以下代码,当url无效或有问题时我得到一个异常,任何人都可以帮助我捕获错误并将url添加到另一个列表并继续我的循环。

Public Sub getIpAddress(ByVal querylist As ArrayList)
        Dim IPList As New ArrayList
        Dim badList As New ArrayList
        Dim badHost As String
        Try
            For Each prod In querylist
                Dim ipEntry As IPHostEntry = Dns.GetHostEntry(prod)
                Dim IPAdd As IPAddress() = ipEntry.AddressList
                IPList.Add(IPAdd.ToString)
            Next
        Catch ex As Exception
            If ex.Message.Contains("No such host is known?") Then

            End If
        End Try

    End Sub

4 个答案:

答案 0 :(得分:1)

如果是.net或.com,则无法从网址中读取该位置。

您可以阅读浏览器的语言,请参阅http://www.west-wind.com/weblog/posts/334.aspx

您还可以阅读请求的IP地址,然后使用位置服务查找请求的来源。

答案 1 :(得分:1)

不是来自网址,而是来自IP,您可以这样做。有一些公开的文件可以将IP范围映射到一个国家。

请注意,国家/地区内的位置很难获取,因为您只能知道ISP的地址,而不是网站的地址。

答案 2 :(得分:1)

您可以确定服务器所在的国家/地区。

您可以找到域名注册商的位置。

但是,该公司或该网站背后的人可能居住在第三位。

你想找出谁的地理位置?

答案 3 :(得分:1)

您可以轻松地使用IP到国家/地区的映射文件(例如this)来构建一个用于从IP推断位置的小工具。我还补充了{。3}}国家特定域名,例如.co.uk和.co.nz。

您可以使用以下内容从java中的主机名获取IP:

    InetAddress addr = InetAddress.getByName("www.bbc.co.uk");
    Long ipNum = ipToInt(addr.getHostAddress());

您必须使用您的语言映射到等效语言。