即使在我将 Java 属性显式设置为 的以下代码中, Jerseyjava.net.preferIPv4Stack
也会返回一个 IPv6 地址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:0:1
如果在本地消费,则返回。如何强制 Jersey 返回 IPv4 格式?