1. 程式人生 > >java 獲取客戶端ip

java 獲取客戶端ip

轉載來自:https://www.cnblogs.com/ITtangtang/p/3927768.html

轉載來自:http://blog.csdn.net/testcs_dn/article/details/38585495

頁面得到ip 地址:http://blog.csdn.net/ye1992/article/details/9492809

package com.web.controller.io;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.web.controller.BaseAction;

@Controller
@RequestMapping("/io/Interview/")
public class IOInterviewVideoAction extends BaseAction {
	
	private Logger logger = Logger.getLogger(this.getClass());

	@ResponseBody
	@RequestMapping("getInterview")
	public String getInterview(HttpServletRequest request, HttpServletResponse response, ModelMap map) {
		try {
			//String number = request.getParameter("number");
			//Integer iRecords = NumberUtils.toInt(request.getParameter("records"), 3);

			String ipp = request.getHeader("X-Forwarded-For");
			String ips = request.getHeader("X-Real-IP");
			System.out.println(ipp+"a");System.out.println(ips+"b");System.out.println(request.getRemoteAddr()+"c");
			
			String ip = request.getHeader("X-Forwarded-For");
			if (StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)) 
			{
				// 多次反向代理後會有多個ip值,第一個ip才是真實ip
				int index = ip.indexOf(",");
				if (index != -1) 
				{
					return ip.substring(0, index);
				} 
				else 
				{
					return ip;
				}
			}
			ip = request.getHeader("X-Real-IP");
			if (StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)) 
			{
				return ip;
			}
		} catch (Exception e) {
			e.printStackTrace();
			logger.error("
[email protected]
_redirect error", e); sendFailureMessage(map, "系統內部錯誤."); } return request.getRemoteAddr(); } /** * 獲取訪問使用者的客戶端IP(適用於公網與區域網). */ @ResponseBody @RequestMapping("getIpAddrs") public String getIpAddrs(HttpServletRequest request) throws Exception { if (request == null) { throw (new Exception("getIpAddr method HttpServletRequest Object is null")); } String ipString = request.getHeader("x-forwarded-for"); String ipStrings = request.getHeader("Proxy-Client-IP"); String ipStringd = request.getHeader("WL-Proxy-Client-IP"); System.out.println(ipString); System.out.println(ipStrings);System.out.println(ipStringd); if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) { ipString = request.getHeader("Proxy-Client-IP"); } if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) { ipString = request.getHeader("WL-Proxy-Client-IP"); } if (StringUtils.isBlank(ipString) || "unknown".equalsIgnoreCase(ipString)) { ipString = request.getRemoteAddr(); } // 多個路由時,取第一個非unknown的ip final String[] arr = ipString.split(","); for (final String str : arr) { if (!"unknown".equalsIgnoreCase(str)) { ipString = str; break; } } return ipString; } }


相關推薦

Java獲取客戶IP

不為 pty 獲取 code 中間 clas 代理服務器 gin servle 在開發工作中,我們常常需要獲取客戶端的IP。一般獲取客戶端的IP地址的方法是:request.getRemoteAddr();但是在通過了Apache,Squid等反向代理軟件就不能獲取到客戶端

java獲取客戶IP和服務器IP

ati () ted unknown lock back thead ssi 簡單的 一、Java獲取服務器IP(轉自:https://www.cnblogs.com/george93/p/6306579.html) //方法一,也是最簡單的一種。 String

Dorado7 AjaxAction Java獲取客戶IP

@Expose @DataProvider public String getCurrentEmployeeUserPrivilege(HttpServletRequest request, HttpServletResponse response){ String ip = req

java獲取客戶ip地址

public static String getIp2(HttpServletRequest request) { String ip = request.getHeader("X-Forwarded-For"); if(StringUtils.isNotEmpty(ip) && !"unKn

java IP地址工具類,java IP地址獲取java獲取客戶IP地址

java IP地址工具類,java IP地址獲取,java獲取客戶端IP地址   ================================ ©Copyright 蕃薯耀 2019年1月11日 http://fanshuyao.iteye.com/   impo

java 獲取客戶ip

轉載來自:https://www.cnblogs.com/ITtangtang/p/3927768.html轉載來自:http://blog.csdn.net/testcs_dn/article/details/38585495頁面得到ip 地址:http://blog.cs

Java獲取客戶ip和埠

“青楓江上秋帆遠,白帝城邊古木疏” 如果你的方法引數裡面直接有request,像下面這樣: @RequestMapping("/test.json") @ResponseBody public Map<String,Obje

JAVA中經過nginx反向代理獲取客戶ip獲取相關坐標等信息

IT urn 輸出 代理 nginx 高德 AD color javascrip 關於搜狐新浪ip庫查詢接口的使用 直接輸出訪客ip及所在城市: <script src="http://pv.sohu.com/cityjson?ie=utf-8" >&l

Java Servlet獲取客戶IP

String ip = request.getHeader("x-forwarded-for");       if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

Java獲取客戶使用者真實IP地址

在JSP裡,獲取客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了Apache,Squid,nginx等反向代理軟體就不能獲取到客戶端的真實IP地址了。 如果使用了反向代理軟體,將http://192.168.1.110

獲取nginx客戶IP地址 Java request獲取客戶ip,各種apach,nginx等代理後依然正確

Java request獲取客戶端ip,各種apach,nginx等代理後依然正確 2017年02月22日 17:15:15 閱讀數:3268 在JSP,Java裡,獲取客戶端的IP地址的方法是:request.getRem

java伺服器獲取客戶ip

在寫服務端程式碼時,有時需要對客戶端ip做認證,比如限制只有某些ip能訪問,或者1個ip1天只能訪問幾次。最近就碰到個需要限制ip的情況,從網上找了一些伺服器獲取客戶端ip的方法,說的都不太完善,這裡整理一下。 獲取客戶端ip其實就是從request中取,從header取或

HttpServletRequest獲取客戶IPjava小記)

小記這個簡單的方法。 /** * 獲取客戶端IP * * @param request * @return */ private String getIpAddr(HttpServletRequest request) { String remoteAddr = request.g

Java獲取客戶真實IP地址的兩種方法

在JSP裡,獲取客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了Apache,Squid等反向代理軟體就不能獲取到客戶端的真實IP地址了。     如果使用了反向代理軟體,將http://192.168

Java獲取客戶所在的IP地址和伺服器地址

/** 2 * 獲取本地IP地址 3 * @return 4 */ public static void main(String[] args) { 2

java 後臺獲取客戶ip地址

// java 後臺獲取訪問客戶端ip地址 protected String getClientIpAddress(HttpServletRequest request) {

java伺服器獲取客戶IP地址

在開發工作中,我們常常需要獲取客戶端的IP。一般獲取客戶端的IP地址的方法是:request.getRemoteAddr();但是在通過了Apache,Squid等反向代理軟體就不能獲取到客戶端的真實IP地址了。 原因:由於在客戶端和服務之間增加了中間代理,因此伺服器無法直

Java獲取客戶/訪問者真實IP地址的兩種方法

在JSP裡,獲取客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了Apache,Squid等反向代理軟體就不能獲取到客戶端的真實IP地址了。在JSP裡,獲取客戶端的IP地址的方法是:request.get

Java獲取客戶真實IP地址

1、我們一般在程式開發時,總會用到這種獲取訪問者IP的功能,以便記錄客戶端的登入和訪問行為。一般情況下,我們可以使用 request 的 getRemoteAddr() 方法獲取客戶端實際 IP ,但是 Nginx 使用反向代理後,我們使用 getRemo

Java獲取客戶、本機IP

獲取客戶端IP某些情況下需要或取使用者客戶端的ip,用來統計或者攔截,比如有些網站是需要遮蔽海外ip的訪問的,這就需要獲取客戶端的訪問ip。一般情況下用HttpServletRequest物件的getR