1

我尝试使用 HttpRequest.getHeaders() 获取标头列表,但我只获得了一些标头,其中没有一个是指客户端的 IP 地址。

是否可以使用 HttpRequest 对象获取客户端的 IP

谢谢

4

2 回答 2

6

这是一个完整的示例代码

@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
    InetSocketAddress socketAddress = (InetSocketAddress) ctx.channel().remoteAddress();
    InetAddress inetaddress = socketAddress.getAddress();
    String ipAddress = inetaddress.getHostAddress(); // IP address of client
}
于 2014-08-20T08:19:10.993 回答
2

您可以只使用频道。

Channel.getRemoteAddress();
于 2012-09-06T10:13:03.667 回答