服务器端获取客户端的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;
    }
}

  具体的Jar下载链接如下:

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

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

三、总结

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

时间: 2024-10-11 22:58:38

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

跟踪EBS客户端的IP地址

Meterlink参考文档: How to Track IP Address of the Form Session in Oracle application 11i (文档 ID 878931.1) 我用的EBS版本是:R12.1.3 一. 确认是否有启用OAM服务管理器: 备注:其实是否有启用OAM服务管理器对利用Form监控EBS客户端的IP地址是完全没关的. 这里放在前面,主要是要利用OAM其中一个Form监控功能,它会自动读取Form对应的进程的(有IP地址信息的)rti文件,并自动

微信公众号平台接口开发:基础支持,获取微信服务器IP地址

官方说明 目前看不出来这个接口有哪些具体运用,但是既然有这个接口,那我们就试试能不能用 访问接口 修改WeCharBase.cs,新增以下2个方法 1 public static string ServerIPs 2 { 3 get { return GetServerIPs(); } 4 } 5 6 /// <summary>获取所有服务器IP</summary> 7 /// <returns></returns> 8 private static str

PHP获取APP客户端的IP地址的方法

分析php获取客户端ip 用php能获取客户端ip,这个大家都知道,代码如下: [php] view plaincopyprint? /** * 获取客户端ip * @param number $type * @return string */ function getClientIp($type = 0) { $type       =  $type ? 1 : 0; static $ip  =   NULL; if ($ip !== NULL) return $ip[$type]; if (

获取客户端的ip地址与mac地址总结

最近刚完成的一个模块中,需要获取系统客户端的IP地址与物理地址(MAC地址). 1. 获取的本机IP与MAC是服务器的,而非客户端的→_→ 通过JAVA获取,本机的IP地址与MAC地址,使用如下代码即可完成: package com.howin.util; import java.net.*; public class Ipconfig { public static void main(String[] args) throws Exception { // TODO Auto-generat

获取客户端的IP地址

/// <summary> /// 获取客户端的IP地址 /// </summary> /// <returns></returns> public static string ClientIP() { string result = String.Empty; result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (result

asp网络编程:ASP如何获取客户端真实IP地址

要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取.不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的IP.还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVari

socket.io获取客户端的IP地址(修正官方1.0.4版本BUG)

之前我有看过别人写的文章,说到如何获取客户端IP地址,代码如下: var io = require("socket.io").listen(server); io.sockets.on("connection", function (socket) { var address = socket.handshake.address; console.log("New connection from " + address.address + &qu

获取客户端真实IP地址

1.需要引入log4j-1.2.14.jar package org.ydd.test; import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; /** * @author coco * @version * 获取IP4 */ public class IP4 { private static final Logger log = Log

java获取客户端请求ip地址

public static String getIpAddr(HttpServletRequest request) { if (null == request) { return null; } String proxs[] = { "X-Forwarded-For", "Proxy-Client-IP", "WL-Proxy-Client-IP", "HTTP_CLIENT_IP", "HTTP_X_FORWAR