我编写了简单的代码,使用网址上的后缀来确定国家/地区位置,例如。 .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
答案 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());
您必须使用您的语言映射到等效语言。