服务器端获取客户端的IP地址(当客户端调用由Axis开发的WebService)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器端获取客户端的IP地址(当客户端调用由Axis开发的WebService)相关的知识,希望对你有一定的参考价值。

一、前言

  由于项目中一个小的模块需要获取客户端的IP地址以保证安全调用webservice接口,项目中客户端使用C#编写,服务器端使用Java编写,服务器端与客户端采用Axis开发的WebService进行通信。服务器端维护IP白名单列表,只有IP地址在白名单中的客户端才可以成功调用到接口,获得服务。

二、代码清单

  若要成功获取客户端IP地址,需要如下Jar包的支持。

  servlet-api.jar

  axis.jar

  axis2-kernel-1.6.2.jar

  获取IP地址的具体代码如下:

技术分享
import org.apache.axis.MessageContext;
import org.apache.axis.transport.http.HTTPConstants;

public class MyWebService {
    public String getIPs() throws IOException {
        MessageContext mc = MessageContext.getCurrentContext();
        HttpServletRequest request = (HttpServletRequest)mc.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
        String clientIP = request.getRemoteAddr();
        return clientIP;
    }
}
View Code

  具体的Jar下载链接如下:

  http://download.csdn.net/detail/leesf456/9443876

  一个小功能,希望对有需要的园友有所帮助。

三、总结

  多思考,多查阅资料,总会有解决办法,多记录,利于自己,方便他人,谢谢各位园友观看~

以上是关于服务器端获取客户端的IP地址(当客户端调用由Axis开发的WebService)的主要内容,如果未能解决你的问题,请参考以下文章

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

在 WCF 服务 C# 的服务器端获取客户端的 Mac 地址不重复(在 WCF 3.0 中获取客户端 IP 地址)

php socket 获取客户端ip地址

如何获取客户端ip

SoftEther虚拟网卡怎样自动获取IP地址?服务端已安装DHCP服务且设置没问题。

为啥NodeJs获取客户端的IP都是这样的