加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

服务器端获取webservice客户端IP地址

发布时间:2020-12-17 00:14:02 所属栏目:安全 来源:网络整理
导读:将下面这些方法放到服务器端就可以 一、基于xfire发布的webservice获取客户端ip的方法 public String getClientIp(){? String ip = "";? try {? HttpServletRequest request = XFireServletController.getRequest();? ip = request.getRemoteAddr();? System

将下面这些方法放到服务器端就可以

一、基于xfire发布的webservice获取客户端ip的方法

public String getClientIp(){?
String ip = "";?
try {?
HttpServletRequest request = XFireServletController.getRequest();?
ip = request.getRemoteAddr();?
System.out.println("客户端ip=:"+ip);?
} catch (Exception e) {?
System.out.println("无法获取HttpServletRequest.");?
e.printStackTrace();?
}?
return ip;?
}

?

二、基于axis发布的webservice获取客户端ip的方法

 public String getClientIpAxis() {

  MessageContext mc = null;

  HttpServletRequest request = null;

  try {

  mc = MessageContext.getCurrentMessageContext();

  if (mc == null)

  throw new Exception(“无法获取到MessageContext”);

  request = (HttpServletRequest) mc

  .getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);

  System.out.println(“remote? ip:? ” + request.getRemoteAddr());

  } catch (Exception e) {

  System.out.println(e.getMessage());

  e.printStackTrace();

  }

  return request.getRemoteAddr();

  }


三、基于jax-ws开发的webservice获取客户端ip的方法【在代理类XXXDelegate添加如下代码】


import javax.annotation.Resource;

  import javax.servlet.http.HttpServletRequest;

  import javax.xml.ws.WebServiceContext;

  import javax.xml.ws.handler.MessageContext;

  @Resource

  private WebServiceContext wsContext;

  private String getClientInfo(){

  MessageContext mc = wsContext.getMessageContext();

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

  String remortAddress = request.getRemoteAddr();

  return (remortAddress);

  }

?

import javax.servlet.http.*; import javax.xml.rpc.server.*; import org.apache.axis.MessageContext; import org.apache.axis.transport.http.HTTPConstants;? public class BaseService { ? public String getClientIp(){? ??? MessageContext? mc? =? MessageContext.getCurrentContext(); ??? HttpServletRequest? request? =? (HttpServletRequest)? mc.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST); ??? System.out.println("remote? ip:? "? +? request.getRemoteAddr()); ??? return request.getRemoteAddr(); ? } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读