Java判断本机IP地址类型的方法
package net;
import java.net.*;
/*
* getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,
* 而getAddress方法返回的是byte数组形式的IP地址。
* Java中byte类型的取值范围是-128?127。如果返回的IP地址的某个字节是大于127的整数,在byte数组中就是负数。
* 由于Java中没有无符号byte类型,因此,要想显示正常的IP地址,必须使用int或long类型。
*/
public class MyIp
{
public static void main(String[] args) throws Exception
{
InetAddress ia = InetAddress.getByName("www.cnblogs.com");
byte ip[] = ia.getAddress();
/*
for (byte part : ip)
System.out.print(part + " ");
System.out.println("");
for (byte part : ip)
{
int newIp = (part < 0) ? 256 + part : part;
System.out.print(newIp + " ");
}
*/
int[] array = new int[5];
for(int i=0; i<ip.length; i++) {
array[i] = (ip[i] < 0) ? 256 + ip[i] : ip[i];
}
String str = TellIpType(array[0]);
System.out.println(str);
}
/*
* 根据第一个字节判断IP地址类型
*/
public static String TellIpType(int num) {
if(num<127)
return "A";
else if(num<192)
return "B";
else if(num<224)
return "C";
else if(num<240)
return "D";
else
return "E";
}
}
相关推荐
-
java实现根据ip地址获取地理位置
最近项目某个功能需要根据ip地址从第三方接口获取详细的地理位置,从网上找了很多例子,主要接口有新浪的,淘宝的,腾讯的.试了淘宝的,如果是数量级小的还可以,如果数量级达到上十万级就速度慢了,会导致系统崩溃.下面例子是新浪的,例子不是适合每个项目,需要改一下. /** ipSearchUrl=http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=(这是新浪的接口地址) 在项目中新浪的接口地址没有直接写死,而是去读属性文件. *
-
Java判断IP地址为内网IP还是公网IP的方法
本文实例讲述了Java判断IP地址为内网IP还是公网IP的方法.分享给大家供大家参考.具体分析如下: tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255 172.16.0.0/12:172.16.0.0-172.31.255.255 192.168.0.0/16:192.168.0.0-192.168.255.255 那么,直接上代码吧: 复制代码 代码如下: public static boolea
-
java实现ip地址与十进制数相互转换
先看实例 代码如下 复制代码 代码如下: classip { privatestaticlongiptolong(stringstrip) //将127.0.0.1形式的ip地址转换成10进制整数,这里没有进行任何错误处理 { intj=0; inti=0; long[]ip=newlong[4]; intposition1=strip.indexof("."); intposition2=strip.indexof(".",position1+1); intpos
-
java中通过网卡名称获取IP地址
复制代码 代码如下: package me.xuzs.sso.test; import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration; public class InternetTest { public static void main(String[] args) { String netCard
-
java实现根据ip地址获取地理位置的代码分享
前几天想给网站后台加个解析ip所在地理位置的功能,在网上看了一些博客,找了几段程序,但总觉得写的不够简洁,感觉很啰嗦.下面这个程序,感觉还算简洁,于是整理调试了一下,可以用,程序调用了"腾讯ip分享计划"提供的接口,当然也可以改成ip138提供的接口,不过这两个网站返回的字符串格式有些不同,要分别做解析. public String getAddressByIP() { try { String strIP = "0.0.0.0"; URL url = new UR
-
Java中使用HttpRequest获取用户真实IP地址
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.jb51.net / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.110
-
java获取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. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端.但是在转发请求的HTTP头信息中,增加了X-FORWARDE
-
Java判断本机IP地址类型的方法
复制代码 代码如下: package net; import java.net.*; /* * getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址, * 而getAddress方法返回的是byte数组形式的IP地址. * Java中byte类型的取值范围是-128?127.如果返回的IP地址的某个字节是大于127的整数,在byte数组中就是负数. * 由于Java中没有无符号byte类型,因此,
-
Java 获取本机IP地址的实例代码
目录 前言 一.规则 二.获取 1.使用 2.工具类 前言 在Java中如何准确的获取到本机IP地址呢?网上大部分的做法是InetAddress.getLocalHost().getHostAddress().这的确能获取到本机IP地址,但是是不准确的.因为忽略了一个问题,网络环境是多变的,一台计算机不同的网卡有多个IP地址,Lan.WiFi.蓝牙.热点.虚拟机网卡等. 一.规则 127.xxx.xxx.xxx 属于 “loopback” 地址,即只能你自己的本机可见,就是本机地址,比较常见的有
-
Java获取本机IP地址的三种方法总结
目录 1 获取局域网IP地址 2 获取全部 IPV4/IPV6 IP地址 3 获取全部存放本机IP地址 知识点补充 1 获取局域网IP地址 InetAddress.getLocalHost().getHostAddress(); 2 获取全部 IPV4/IPV6 IP地址 private static List<String> getIpAddress() throws SocketException { List<String> list = new LinkedList<
-
java如何获取本机IP地址
本文实例为大家分享了java实现获取本机IP地址的具体代码,供大家参考,具体内容如下 原因:同一台机子上开着两个web工程,现在有需求需要保证两个项目之间交互的安全问题.因为有个旧的项目,所以尽量不做改动.只能在新项目中做改动. 处理办法:获取本地的IP地址,有请求进来时查看请求的来源,只有来源是本地IP的才予以通过. 代码如下: /** * 任务调度调用拦截器 */ public class TaskControlInterceptor implements Interceptor { //存
-
JAVA如何获取客户端IP地址和MAC地址
本文介绍了JAVA如何获取客户端IP地址和MAC地址 ,分享给大家,具体如下: 1.获取客户端IP地址 public String getIp(HttpServletRequest request) throws Exception { String ip = request.getHeader("X-Forwarded-For"); if (ip != null) { if (!ip.isEmpty() && !"unKnown".equalsIg
-
自动修改本机IP地址的bat代码
代码比较多,经过我们小编测试,在2008 r2上无法正常执行,其实bat设置ip就是几个命令,无外乎加了一些判断与获取原来网络配置的一些信息,代码越复杂越容易出问题 @echo off setlocal enabledelayedexpansion title 修改本机IP地址 by:小小沧海20130409 :init cls&echo --------------自动修改本机IP地址-------------- rem 系统版本,值可为Windows7或是WindowsXP,或是auto(表
-
Java获取客户端真实IP地址过程解析
这篇文章主要介绍了Java获取客户端真实IP地址过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 业务背景 服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等拦截,在进行IP限定的时候就需要获取客户端真实的IP. 基础知识 访问服务端的方式一般分为两种: 未经过代理,直接访问服务器端: 通过多级代理,最终到达服务器端(nginx,squid,haproxy). 客户端请求信息都包含在HttpServletRequest中
-
Shell脚本判断IP地址是否合法的方法
使用shell校验IP地址合法性 使用方法: 复制代码 代码如下: [root@yang python]# bash check_ip.sh IP地址 执行结果:返回值0校验合法,非0不合法.shell代码: 复制代码 代码如下: [root@yang python]# vi check_ip.sh #!/usr/bin/shCheckIPAddr(){echo $1|grep "^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\{1,3\}$"
-
javascript判断两个IP地址是否在同一个网段的实现思路
1)基本思路: 要判断两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,如果网络号相同,就在同一子网,否则,不在同一子网. 2)具体实现: 复制代码 代码如下: /** * [isEqualIPAddress 判断两个IP地址是否在同一个网段] * @param {[String]} addr1 [地址一] * @param {[String]} addr2 [地址二] * @param {[String]} mask [子网掩码] * @return {
-
python在Windows8下获取本机ip地址的方法
本文实例讲述了python在Windows8下获取本机ip地址的方法.分享给大家供大家参考.具体实现方法如下: import socket hostname = socket.gethostname() IPinfo = socket.gethostbyname_ex(hostname) LocalIP = IPinfo[2][2] print LocalIP 希望本文所述对大家的Python程序设计有所帮助.
随机推荐
- 如何编写TOP 10之类的排行榜?
- CentOS中运行PostgreSQL需要修改的内核参数及配置脚本分享
- AngularJS $injector 依赖注入详解
- ntoskrnl.exe丢失系统无法启动的解决方法
- CentOS7系统下用YUM安装Nginx详解
- 概述.net开发过程中Bin目录下面几种文件格式
- Android实现获取应用程序相关信息列表的方法
- c语言标准库中字符转换函数和数字转换函数
- ADODB 入门第1/2页
- CSS中的滑动门技术
- jquery实现向下滑出的二级导航下滑菜单效果
- Android中App字体大小不随系统改变而改变
- java编写Http服务器下载工具
- Android编程实现类似于圆形ProgressBar的进度条效果
- 让以太网线缆在恶劣的工业环境下正常工作
- java中继承测试代码分析
- gradle tool升级到3.0注意事项小结
- JavaScript JSON数据处理全集(小结)
- 微信小程序 bindtap 传参的实例代码
- javascript实现拖拽碰撞检测