Java»ñÈ¡ÇëÇó¿Í»§¶ËµÄÕæÊµIPµØÖ·
ͨ³£Í¨¹ýrequest.getRemoteAddr()
È¡µÃ¿Í»§¶ËµÄIPµØÖ·£¬×ö¼øÈ¨ºÍУÑ飬Â߼ûÎÊÌ⣬ÄÇô¿Ï¶¨request.getRemoteAddr()³öÁËÎÊÌ⣬googleÏ£¬·¢ÏÖÓÐÈËÓöµ½ÀàËÆµÄÎÊÌâ¡£
×îÖÕ¶¨Î»Îªrequest.getRemoteAddr()ÕâÖÖ·½·¨Ôڴ󲿷ÖÇé¿ö϶¼ÊÇÓÐЧµÄ¡£µ«ÊÇÔÚͨ¹ýÁËApache,SquidµÈ·´Ïò´úÀíÈí¼þ¾Í²»ÄÜ»ñÈ¡µ½¿Í»§¶ËµÄÕæÊµIPµØÖ·ÁË¡£
Èç¹ûʹÓÃÁË·´Ïò´úÀíÈí¼þ£¬½«http://192.168.1.110:2046/
µÄURL·´Ïò´úÀíΪhttp://www.xxx.com/
µÄURLʱ£¬ÓÃrequest.getRemoteAddr()
·½·¨»ñÈ¡µÄIPµØÖ·ÊÇ£º127.0.0.1¡¡»ò¡¡192.168.1.110£¬¶ø²¢²»Êǿͻ§¶ËµÄÕæÊµ£É£Ð¡£
¾¹ý´úÀíÒÔºó£¬ÓÉÓÚÔÚ¿Í»§¶ËºÍ·þÎñÖ®¼äÔö¼ÓÁËÖмä²ã£¬Òò´Ë·þÎñÆ÷ÎÞ·¨Ö±½ÓÄõ½¿Í»§¶ËµÄIP£¬·þÎñÆ÷¶ËÓ¦ÓÃÒ²ÎÞ·¨Ö±½Óͨ¹ýת·¢ÇëÇóµÄµØÖ··µ»Ø¸ø¿Í»§¶Ë¡£µ«ÊÇÔÚת·¢ÇëÇóµÄHTTPÍ·ÐÅÏ¢ÖУ¬Ôö¼ÓÁËX£FORWARDED£FOR
ÐÅÏ¢ÓÃÒÔ¸ú×ÙÔÓеĿͻ§¶ËIPµØÖ·ºÍÔÀ´¿Í»§¶ËÇëÇóµÄ·þÎñÆ÷µØÖ·¡£
Java´úÂë
public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
i
Ïà¹ØÎĵµ£º
jarÎļþÌý˵¹ýÂð£¬Ã»ÓУ¿»òÕßİÉú£¡ºÃ£¬Ã»¹ØÏµ£¬Õâ¾ÍÊÇÎÒÃǵĵÚÒ»Õ¾£º´ò°ü·¢²¼¡£
Ϊʲô»áÓÐÕâ¸öÍæÒâÄØ£¬Ê×ÏÈ£¬ÕâÊÇjarµÄÈ«³Æ£ºJavaTM Archive (JAR) file£¬Êǵ쬾ÍÊÇjava´æµµÎļþ¡£ÕâÓеãÀàËÆzipÎļþ£¬ÏëÒ»ÏëËüÊǸÉʲôµÄÓõÄÄØ£¬Ñ¹Ëõ£¡£¿Ã»´í¾ÍÊÇҪѹËõ£¬½«ÎÒÃÇÔÏÈÁãÉ¢µÄ¶«Î÷·Åµ½Ò»Ï£¬ÖØÐÂ×éÖ¯£¬ËùÓÐÕâЩĿµÄÖ»ÓÐÒ» ......
ºÜ¶àµÄÎı¾Îļþ»áÓв»Í¬µÄ±àÂë¸ñʽ£¬Ôì³ÉÕâÖÖ±àÂë²îÒìµÄ¿ÉÄÜÊÇϵͳµÄ²îÒ죬¿ÉÄÜÊÇÔÚ±£´æÎļþʱ²ÉÓÃÌØ¶¨µÄ×Ö·û¼¯±àÂëÀ´±£´æ¡£ÕâʱÎÒÃÇÀûÓÃJavaÓïÑÔÀ´´ò¿ªÕâЩÎı¾Ê±£¬Èç¹û²»Ê¹ÓÃÕýÈ·µÄ×Ö·û¼¯½âÂëÆ÷´ò¿ª£¬¿Ï¶¨»á³öÏÖÂÒÂë¡£ºÃÔÚjava.io°üÌṩÁËÒ»¸öjava.io.InputStreamReaderÀàÀ´Ö§³ÖÖ¸¶¨Îı¾× ......
±¾ÎÄÊ×ÏȽéÉÜjavaÁ¬½ÓoracleҪעÒâµÄ¼¸µã£¬È»ºó½éÉܼ¸ÖÖ³£ÓõÄÁ¬½Ó·½Ê½¡£
Ò»¡¢¼¸µã×¢Ò⣺
1¡¢ÔÚ¿Í»§¶ËÈí¼þ¿ª·¢ÖÐʹÓÃThinÇý¶¯³ÌÐò
ÔÚ¿ª·¢JavaÈí¼þ·½Ã棬OracleµÄÊý¾Ý¿âÌṩÁËËÄÖÖÀàÐ͵ÄÇý¶¯³ÌÐò£¬¶þÖÖÓÃÓÚÓ¦ÓÃÈí¼þ¡¢applets¡¢servletsµÈ¿Í»§¶ËÈí¼þ£¬ÁíÍâ¶þÖÖÓÃÓÚÊý¾Ý¿âÖеÄJava´æ´¢¹ý³ÌµÈ·þÎñÆ ......
// multi.MultiServer.java
package multi;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class MultiServer {
private int port = 8000;
private int backlog = 42;
private ServerSocket server_socket;
private Thread ......
¶ÔÓÚJava³ÌÐò£¬ÎÞÂÛÊÇδ´ò°üµÄ»¹ÊÇ´ò°üµÄJAR»òWARÎļþ£¬ÓÐʱºò¶¼ÐèÒª»ñÈ¡ËüÔËÐÐËùÔÚĿ¼ÐÅÏ¢£¬ÈçºÎ×öµ½ÕâÒ»µãÄØ£¿
ÔÚJava´¦ÀíµÄÎļþϵͳÖУ¬Ä¿Â¼µÄ±íʾ·½Ê½ÓÐÁ½ÖÖ£º
£¨1£©¾ø¶ÔĿ¼£¬ËüÒÔ"/"ΪÆðʼ×Ö·û£¬´ú±í´Ó¸ùĿ¼Ï¿ªÊ¼Ñ°ÕÒ¸ø³öµÄĿ¼£¬Èç/c:/java
£¨2£©Ïà¶Ô·¾¶£¬ËüÒÔ²»´ø“/”µÄĿ¼Ãû±íʾ£¬±íʾÒÔµ±Ç ......