package Sy;import com.google.gson.Gson;import java.io.IOException;import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;public class Sy4 {public static String getIp() throws IOException, InterruptedException {String url = "http://api.rest7.com/v1/my_ip.php";HttpClient client = HttpClient.newHttpClient();HttpRequest request = HttpRequest.newBuilder().uri(URI.create(url)).build();HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());String res = response.body();// res = ["39.129.167.21"]// ip = 39.129.167.21String ip = res.substring(2, res.length()-2);return ip;}public static CityInfo getCityInfoByIp(String ip) throws IOException, InterruptedException {String url = "http://api.rest7.com/v1/ip_to_city.php?ip=" + ip;HttpClient client = HttpClient.newHttpClient();HttpRequest request = HttpRequest.newBuilder().uri(URI.create(url)).build();HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());String json = response.body();// json 字符串转为 CityInfo 对象Gson gson = new Gson();CityInfo cityInfo = gson.fromJson(json, CityInfo.class);return cityInfo;}public static void main(String[] args) throws IOException, InterruptedException {String ip = getIp();System.out.println(ip);System.out.println("获取城市信息");CityInfo cityInfo = getCityInfoByIp("106.61.3.222");System.out.println("国家:" + cityInfo.getCountry());System.out.println("省:" + cityInfo.getRegion());System.out.println("城市:" + cityInfo.getCity());System.out.println("经度:" + cityInfo.getLng());System.out.println("纬度:" + cityInfo.getLat());}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。