xianKOG 2019-03-28 09:29
浏览 311

基于JWS的Webservice,如何获取访问过来的客户端的真实IP,真实的IP

我的WebService是JWS的,我想要获取访问我接口的客户端的真实IP,而不是路由器分配的虚拟IP。
我的方法:

@Resource
    private WebServiceContext webServiceContext;
        MessageContext mc = webServiceContext.getMessageContext();
        HttpExchange exchange = (HttpExchange)mc.get(JAXWSProperties.HTTP_EXCHANGE);
        InetSocketAddress isa = exchange.getRemoteAddress();
        ip = isa.getAddress().getHostAddress(); //获取IP

但是这种方式获取到的IP 并不是真实的,但是网上的解决方法都是这个。
另外还有人说获取HttpServletRequest

HttpServletRequest request= (HttpServletRequest)(mc.get(MessageContext.SERVLET_REQUEST));

但是获取到的HttpServletRequest始终为NULL。
至此,我还是没有解决方法。。如何获取客户端的真实IP,请各位大神帮帮忙

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler
    • ¥15 oracle集群安装出bug
    • ¥15 关于#python#的问题:自动化测试
    • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
    • ¥15 教务系统账号被盗号如何追溯设备
    • ¥20 delta降尺度方法,未来数据怎么降尺度
    • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效