You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行在AWS实例的Java应用(SDK v1.12)如何查询IP地址位置?

AWS IP地址地理位置查询服务及Java示例

1. AWS是否提供该服务?

是的,AWS的Amazon Location Service支持通过IP地址查询对应的地理位置信息,包括城市、州/省、国家、经纬度等数据。该服务可直接通过AWS SDK for Java调用,适配部署在AWS实例上的应用集成需求。

2. AWS SDK for Java v1.12基础示例

步骤1:添加依赖

在Maven项目的pom.xml中加入Amazon Location Service的SDK依赖:

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-location</artifactId>
    <version>1.12.500</version> <!-- 请选用与SDK v1.12兼容的最新版本 -->
</dependency>

步骤2:Java代码示例

以下是根据IP地址查询地理位置的基础实现:

import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
import com.amazonaws.services.location.AmazonLocation;
import com.amazonaws.services.location.AmazonLocationClientBuilder;
import com.amazonaws.services.location.model.GetIpAddressLocationRequest;
import com.amazonaws.services.location.model.GetIpAddressLocationResult;

public class IpGeolocationQuery {
    public static void main(String[] args) {
        // 初始化Amazon Location客户端(默认使用实例IAM角色或本地凭证)
        AmazonLocation locationClient = AmazonLocationClientBuilder.standard()
                .withCredentials(DefaultAWSCredentialsProviderChain.getInstance())
                .withRegion("us-east-1") // 替换为你实际使用的AWS区域
                .build();

        // 构造查询请求,指定目标IP地址
        GetIpAddressLocationRequest request = new GetIpAddressLocationRequest()
                .withIpAddress("192.0.2.1"); // 替换为需要查询的IP地址

        try {
            // 调用服务获取结果
            GetIpAddressLocationResult result = locationClient.getIpAddressLocation(request);

            // 解析并输出地理位置信息
            System.out.println("城市: " + result.getCity());
            System.out.println("州/省: " + result.getRegion());
            System.out.println("国家: " + result.getCountry());
            System.out.println("经纬度: " + result.getLatitude() + ", " + result.getLongitude());
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭客户端资源
            locationClient.shutdown();
        }
    }
}

关键注意事项

  • 确保AWS实例的IAM角色拥有geo:GetIpAddressLocation权限,或本地凭证具备该权限。
  • 替换代码中的AWS区域为你实际使用的区域(如eu-west-1、ap-southeast-1等)。
  • 若不指定IpAddress参数,服务会自动查询发起请求的源IP(即你的AWS实例公网IP)。

内容的提问来源于stack exchange,提问作者user2215659

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 20:15:43