我想使用基于Web的GeoIP服务解析ip地址。我在线关注maxminds教程。他建议使用'WebServiceClient使用WebServiceClient.Builder',并建议'向Builder构造函数提供MaxMind userId和licenseKey'。这有必要吗?我想使用一个基于Web的webservicex基于浏览器的解决方案。有人可以建议我如何实现这一目标吗?请不要建议离线资源。
String url = "http://www.webservicex.net/geoipservice.asmx/GetGeoIP";
// The params here hold the id and the key, which I do not want to employ,
// I would prefer to access via url
WebServiceClient.Builder builder = new WebServiceClient.Builder(1,url);
WebServiceClient client = builder.build();
InetAddress ipaddress = InetAddress.getByName("128.101.101.101");
CountryResponse responce = client.country(ipaddress);
Country country = responce.getCountry();
System.out.println("country code: " + country.getIsoCode());
System.out.println("country name: " + country.getName());
答案 0 :(得分:1)
您发布的代码实际上是在远程服务中查询IP的位置。但是,由于这是一项付费服务,您需要提供userId和licenseKey 如果您想使用MaxMind在线服务,则必须获取这些详细信息。他们确实提供了免费选项,但是,正如您可能已经意识到的那样,它已经脱机。
编辑:你也可以尝试一下这个:https://freegeoip.net/