以下内容介绍下java获取ip地址的几种思路。1、直接利用java.net.InetAddress类获取,不过这种方法只在windows环境下有效,在linux环境下只能获取localhost地址(即/etc/hosts文件内容) 代码如下: 1import java.net.InetAddress;2 3/** 4 * This method works well in windows system.5 * In Linux system it returns 127.0.0.1 the content of the hosts file.6*/ 7publicstaticvoid getIpAddressInWindows() {8tr...
今天分享一个免费在线的小工具的开发代码就是通过淘宝提供的接口获取服务商信息,工具地址:http://www.yzcopen.com/seo/ipadress代码如下:publicclass YzcPattern {
/**
* ip地址接口
*/privatefinalstatic String ipurl ="http://ip.taobao.com/service/getIpInfo.php?ip=";/**
* 判断ip
* @param text
* @return*/publicstaticboolean ipCheck(String text) {
if (text != null && !text.isEmpty()) {
// 定义正则表达式
Strin...
这个问题以前真还没注意,好像记得分割过规律的字符串,但是不是像IP这样是以"."为分割规律字符,而是其他的。今天又用到类似功能,代码写好了也没测试,直接上传服务器,但是就是会报错,之后看了日志是ip分割部分代码除了问题,然后网上找资料,找到的资料说的方法都是我当前报错这方法, 无语了人旷了一小会,想能不能用正则表达式来分割,然后网上找了方法,然后将正则表达式中的分割标识符换乘了".",没想到分割出来也不对,但是之...
import java.net.InetAddress;import java.net.UnknownHostException;public class HuoQu { public static void main(String[] args) throws UnknownHostException { // TODO Auto-generated method stub InetAddress IP = InetAddress.getByName("DESKTP-MDC2C"); //在我的电脑属性查看名称粘贴过来,此为我的虚拟名。 System.out.println("第一种方式"+IP); InetAddr...
不多说,直接上代码。package com.ckw.test;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.Map.Entry;public class TestOfSubNetMask { Map<String, String> map = new HashMap<String, String>();String ipAddress;String subNetMask;boolean flag = false; //用来标记一对IP地址跟子网掩码 (位置相邻的即为一对)//获取相对应IP...
1publicclass IpUtils {2privatestaticfinal String[] HEADERS = {3 "X-Forwarded-For",4 "Proxy-Client-IP",5 "WL-Proxy-Client-IP",6 "HTTP_X_FORWARDED_FOR",7 "HTTP_X_FORWARDED",8 "HTTP_X_CLUSTER_CLIENT_IP",9 "HTTP_CLIENT_IP",
10 "HTTP_FORWARDED_FOR",
11 "HTTP_FORWARDED",
12 "HTTP_VIA",
13 "REMOTE_ADDR",
14 "X...
最近项目中要获得客户端的mac地址。服务端是移植的centos系统,arm架构的盒子。客户端是手机和移动设备。(其它场景应该也是类似的)首先要获得ip地址:根据客户端的http请求,利用request.getRemoteAddr()获取客户端Ip地址。在局域网内getRemoteAddr()和getRemoteHost()获得的结果相同。request.getRemoteAddr()是获得客户端的ip地址 。getRemoteHost()是获得客户端的主机名 。在有些场景中,可能有Squid等反向代理软件就不能获取...
java把ip地址存放到一个int型变量package com.zwx;public class test {public static void main(String[] args) {byte[] bt = new byte[4];bt[0] = 111;bt[1] = 112;bt[2] = 113;bt[3] = 114;int i = byteArrayToInt(bt); System.out.println("int--->" + i);byte[] b = intToByteArrayl(i);System.out.print("ip--->");for (byte bb : b) {System.out.print(bb + ".");}}//int转ip(字节数组)public static byte[] intToByteArray...
在JSP里,获取客户端的IP地址的方法是: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。经过代理以后,由于在客户端和服务...
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;class MyComparator implements Comparator<String>{publicint compare(String ip1, String ip2) {Pattern p = Pattern.compile("\\d{1,3}");Matcher m1 = p.matcher(ip1);Matcher m2 = p.matcher(ip2);while(m1.find()){m2.find();System.out.println(m1.group() + " " + m2.g...
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid,nginx等反向代理软件,由于在客户端和服务之间增加了中间层,所以request.getRemoteAddr()方法获取的IP实际上是代理服务器的地址,并不是客户端的IP地址。但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。package com.ra...
Java利用HostUtil工具类抓取本地IP地址(屏蔽无用地址)
一、现有的解决方法:通过黑名单屏蔽
会维护一个blackPrefixs的list类型,会屏蔽掉回环地址、ipv6以及以blackPrefixs中以"docker0", "br-", "veth"开头的地址。不是很灵活,经常会出现抓到了不以这些前缀开头的NetworkInterface,则会出现ip地址不是自己的地址的情况。
//核心逻辑
Iterator var5 = blackPrefix.iterator();while(var5.hasNext()) {String prefix = (String)...
package xuexi.Java.Two;import java.net.InetAddress;//演示如何使用 InetAddress 类的 getLocalAddress() 方法获取本机ip地址及主机名public class Main2 { public static void main(String[] args) throws Exception { InetAddress addr = InetAddress.getLocalHost(); System.out.println("主机地址:"+addr.getHostAddress()); String hostname = addr.getHostName(); Syst...
private static final String[] ADDR_HEADER = { "X-Forwarded-For", "Proxy-Client-IP", "WL-Proxy-Client-IP","X-Real-IP" };private static final String NUKNOWN = "unknown";/*** 获得真实IP地址。* 在使用了反向代理时,直接用HttpServletRequest.getRemoteAddr()无法获取客户真实的IP地址。* @param request * @return*/public static String getRemoteAddr(ServletRequest request) {String addr = null;if (request insta...
1.目录
基本概念:ip/端口/url/tcp/utp
2.常用类操作:基本概念涉及的类
3.tcp/utp编程
4.在线聊天室
2.基本概念
1.网络:将不同区域的电脑连接到一起,组成局域网、城域网或广域网。把分布在不同地理区域的计算机与专门的外部设备
用通信线路互联成一个大规模、功能强的网络系统,从而使众多计算机可以方便地互相传输信息,共享硬件,软件,数据信息等。
资源共享,信息传输与集中处理,负载均衡和分布处理
2.通讯协议和通信接口
...