Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java通过ip地址获取地区

作者:洃铯哖輪   发布日期:2026-04-24   浏览:49

import java.net.InetAddress;
import java.net.UnknownHostException;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;

public class IPLocation {

    public static String getRegionByIP(String ipAddress) {
        String url = "http://ip-api.com/json/" + ipAddress;
        String region = "Unknown";

        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            HttpGet request = new HttpGet(url);
            HttpResponse response = httpClient.execute(request);

            if (response.getStatusLine().getStatusCode() == 200) {
                String jsonResponse = EntityUtils.toString(response.getEntity());
                JSONObject json = new JSONObject(jsonResponse);
                region = json.getString("regionName");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return region;
    }

    public static void main(String[] args) {
        // 示例:通过IP地址获取地区
        String ip = "8.8.8.8"; // Google的公共DNS服务器IP地址
        System.out.println("IP地址 " + ip + " 所在的地区是: " + getRegionByIP(ip));
    }
}

解释说明:

  1. 引入依赖:此代码使用了 org.apache.httporg.json 库来发送HTTP请求并解析JSON响应。你需要确保这些库已添加到你的项目中。
  2. getRegionByIP 方法:该方法接收一个IP地址作为参数,并通过调用 http://ip-api.com/json/ API 获取对应的地区信息。API返回的结果是一个JSON格式的字符串,我们从中提取出 regionName 字段作为地区名称。
  3. 异常处理:代码中包含了基本的异常处理,以应对网络请求失败或其他异常情况。
  4. main 方法:提供了一个简单的测试示例,通过Google的公共DNS服务器IP地址(8.8.8.8)来演示如何使用 getRegionByIP 方法。

如果你无法找到相关代码或API,请确保你已经正确配置了所需的库和依赖项。

上一篇:java断言怎么用

下一篇:java匿名函数

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

jsonobject.tojavaobje

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站