一、由域名求IP地址的程序
下面程序由命令行输入域名,输出ip
import java.net.*;
public class nslookup {
//Usage:java nslookup hostname
public static void main (String argv[]) throws Exception {
String host=argv[0];
InetAddress address=null;
try {
address=InetAddress.getByName(host);
} catch(UnknownHostException e) {
System.out.println("Unknown host");
System.exit(0);
}
byte[] ip=address.getAddress();
for (int i=0;i< ip.length;i++) {
if (i>0) System.out.print(".");
System.out.print(ip&0xff);
}
System.out.println();
}
}
程序运行结果:
C:\java>java nslookup sina.com
71.5.7.138
C:\java>
二、 得到某个域名的所有IP地址
import java.net.*;
import java.io.*;
public class SimpleDNS
{
public static void main(String[] args)
{
try
{
InetAddress[] address =InetAddress.getAllByName("www.sina.com");
for(int i=0;i< address.length;i++)
{
System.out.println(address.getHostAddress());
}
}
catch (Exception e)
{
System.out.println(e.toString());
System.exit(1);
}
}
}
? 运行结果:
C:\java>java SimpleDNS www.s
218.30.13.35
218.30.13.36
218.30.13.37
218.30.13.38
218.30.13.39
218.30.13.40
218.30.13.41
218.30.13.42
218.30.13.43
218.30.13.44
218.30.13.45
218.30.13.46
218.30.13.47
218.30.13.48
218.30.13.49
218.30.13.34
三、 IP地址转换成10进制整数
经常要判断一个ip是国内的还是国外的,有了下面程序再结合数据库查询...
/**
@描述:java中实现IP地址的各种表现形式之间的转换
@作者:慈勤强
@Email : cqq1978@gmail.com http://blog.csdn.net/cqq
*/
class IP
{
private static long ipToLong(String strIP)
//将127.0.0.1 形式的IP地址转换成10进制整数,这里没有进行任何错误处理
{
int j=0;
int i=0;
long [] ip=new long[4];
int position1=strIP.indexOf(".");
int position2=strIP.indexOf(".",position1+1);
int position3=strIP.indexOf(".",position2+1);
ip[0]=Long.parseLong(strIP.substring(0,position1));
ip[1]=Long.parseLong(strIP.substring(position1+1,position2));
ip[2]=Long.parseLong(strIP.substring(position2+1,position3));
ip[3]=Long.parseLong(strIP.substring(position3+1));
return (ip[0]<<24)+(ip[1]<<16)+(ip[2]<<8)+ip[3];
}
private static String longToIP(long longIP)
//将10进制整数形式转换成127.0.0.1形式的IP地址
{
StringBuffer sb=new StringBuffer("");
sb.append(String.valueOf(longIP>>>24));//直接右移24位
sb.append("."); //将高8位置0,然后右移16位
sb.append(String.valueOf((longIP&0x00FFFFFF)>>>16));
sb.append(".");
sb.append(String.valueOf((longIP&0x0000FFFF)>>>8));
sb.append(".");
sb.append(String.valueOf(longIP&0x000000FF));
sb.append(".");
return sb.toString();
}
public static void main(String[] args)
{
System.out.println("IP地址的各种表现形式:\r\n");
System.out.print("32位二进制形式:");
System.out.println(Long.toBinaryString(3526601384L));
System.out.print("十进制形式:");
System.out.println(ipToLong("210.51.170.168"));
System.out.print("普通形式:");
System.out.println(longToIP(3526601384L));
}
}
程序运行结果:
IP地址的各种表现形式:
32位二进制形式:11001010011100000110000010100011
十进制形式:3396362403
普通形式:202.112.96.163.
分享到:
相关推荐
IP地址转换成整数,整数转换成IP地址,16进制转换成IP地址,IP地址转换成16进制
ip转为十进制整数
输入IP地址及掩码(如24),计算出地址范围 1、计算出掩码指定的IP地址个数 2、分割IP地址 3、将10.0.0.0形式的ip地址转换成10进制整数 4、将10进制整数形式转换成127.0.0.1形式的IP地址
易语言IP地址转换源码,IP地址转换,查询IP到地址,二分法确定位置,取地区文本,IP文本转整数值,十六进制到十进制,倒转十六进制文本,IP文本补位,十六进制文本到IP地址,十六进制单项补位,获得数据库数据数量,获得数据库...
点分十进制IP和长整型转换,直接把IP地址转换为整型,存数据库增加效率。
上述代码中,`ipToInteger`函数将点分十进制形式的IP地址转换为无符号整数形式的IP地址。该函数使用字符串流`istringstream`将点分十进制形式的IP地址按照"."进行分割,然后依次解析每个分割得到的字符串,并通过...
每段数字 相对应的二进制数10 000010100 000000003 00000011193 11000001组合起来即为:00001010 00000000 00000011 11000001,转换为10进制就是:167773121,即该IP地址转换后的数字就是它了。 C#代码: 代码如下:...
知识点:一个二进制数,按位左移n位,就是把该数的值乘以2的n次方 二进制除二即右移一位 1、IP地址转换为整数 原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二...
将十进制IP地址转换为32位无符号整数。 ConvertTo-DottedDecimalIP 将无符号的32位整数或点分的二进制字符串转换为IP地址。 ConvertTo-HexIP 将点分十进制IP地址转换为十六进制字符串。 转换为蒙版 将掩码长度...
下面我们就来看一下把 IPv4 地址转换成整数的原理和收益各是什么。 转换的原理 一个 IPv4 类的地址共分为四个部分 0.0.0.0 然而每一个部分的取值范围都在 0 ~ 255;也就是说每一个部分都可以用一个字节来保存,总共...
编写函数将十进制整数按8进制输出,然后编写main函数验证该函数。例如输入12,则输出为:12=014,输入32,则输出32=040。 输入格式 输入一个整数。 输出格式 输出这个整数的八进制形式。 样例输入 12 样例输出...
本工具可实现点分十进制格式的ip地址与长整数的ip之间的转换,可将yyyy-MM-dd hh:mm:hh格式的时间与unsigned long的时间互相转换,可以在主机序和网络序的ip地址之间转换,可以做无符号整数与有符号整数之间转换
对自己编写的正则表达式进行测试与验证,将字符串进行十六进制编码、Base64编码、Md5加密及相应的解码,IP地址和无符号整数的相互转换。
在开发过程中,您可能会需要编码转换、生成MD5密码、IP地址与无符号整数的互换、编写自己的正则表达式等工作,有了这个迷你小工具,会让你工作起来更轻松……,这是第一版,会不断完善的
Javascript IP转换器 这是一个基于Web的小型... 您可以使用它在以下表示之间转换IPv4地址: 虚线表示( 127.0.0.1 ) 八进制表示( 177.0.0.1 ) 十六进制表示形式( 0x7f000001 ) 整数表示( 2130706433 )
inet_pton是一个IP地址转换函数,可以在将IP地址在“点分十进制”和“二进制整数”之间转换,而且inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。 定义和用法 inet_pton- 将人类可读的IP...
我真的很喜欢Python的库和Ruby的 ,如果您能处理一些围绕IP地址和网络块的小问题,那么我认为您可以编写很多整洁的软件,所以我着手为我编写类似的东西选择的语言,转到。 这就是我想出的。 是一个希望有用的,...
子网掩码一共由32位组成,已确定后面10位是0了,那前面的22位就是1,最合适的子网掩码就是:11111111.11111111.11111100.00000000,转换成10进制,那就是255.255.252.0。 分配和计算子网掩码你会了吧,下面,...
子程序 八到十, 整数型, 公开, 将八进制转换成十进制(返回十进制整数) .参数 八进制文本, 文本型, , 欲转换的八进制文本 .子程序 彩色字体, , 公开, 彩色动态字体 感谢[梦飞鸟] .参数 内容, 文本型 .参数 窗口句柄,...