Jersey返回IPv6地址,即使在;java.net.preferIPv4Stack“;是";“真的”;

Jersey返回IPv6地址,即使在;java.net.preferIPv4Stack“;是";“真的”;,java,jersey,ip,ipv6,ipv4,Java,Jersey,Ip,Ipv6,Ipv4,返回IPv6地址,即使在以下代码中,我显式地将Java属性Java.net.preferIPv4Stack设置为true,而我要检索IPv4地址: @Path("/getip") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Produces(MediaType.TEXT_PLAIN) public class PublicIp { @GET public Response getPublicIp(@Context Http

返回IPv6地址,即使在以下代码中,我显式地将Java属性
Java.net.preferIPv4Stack
设置为
true
,而我要检索IPv4地址:

@Path("/getip")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public class PublicIp {

    @GET
    public Response getPublicIp(@Context HttpServletRequest req) {
        System.setProperty("java.net.preferIPv4Stack" , "true");
        String address = req.getRemoteAddr();
        return Response.ok(address).build();
    }
}

如果在本地使用,则返回
0:0:0:0:0:0:1
。如何强制Jersey返回IPv4格式?

尝试将其传递给JVM:

-Djava.net.preferIPv4Stack=true
而不是将其设置为方法内的系统属性以获取IP