怎么样通过IP地址获得主机名? 参看:http://www.yesky.com/20030107/1647374.shtml 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 byte[] ip=new byte[4]; ip[0]=(byte)193; ip[1]=(byte)167; ip[2]=(byte)13; ip[3]=(byte)127; System.out.println(InetAddress.getByAddress(ip).getHostName());//btw,InetAddress.getByAddess(byte[])的参数是一个Ipv4地址或Ipv6地址,你要把你的ip地址转换成对应的byte[]才可以,否则就会抛出Exception 自己看:package org.jr.net;/** * Copyright: Copyright (c) 2002-2003 * Company: JavaResearch(http://www.javaresearch.org) * 最后更新日期:2003年3月4日 * @author Cherami */import java.net.*;/** * IP地址相关的工具类,封装常用的IP工具方法。 * @since 0.12 */public class IPUtil { /** * 非法IP地址常量。 * @since 0.12 */ public static final String INVALID_IP = "0.0.0.0"; /** * 未知主机名常量。 * @since 0.12 */ public static final String UNKNOWN_HOST = ""; /** * 私有构造方法,防止类的实例化,因为工具类不需要实例化。 */ private IPUtil() { } /** * 根据主机名得到IP地址字符串。 * @param hostName 要查找地址的主机名 * @return 对应主机的IP地址,主机名未知或者非法时返回INVALID_IP。 * @since 0.12 */ public static String getByName(String hostName) { try { InetAddress inet = InetAddress.getByName(hostName); return inet.getHostAddress(); } catch (UnknownHostException e) { return INVALID_IP; } } /** * 根据IP地址得到主机名。 * @param ip 要查找主界面的IP地址 * @return 对应IP的主机名,IP地址未知时返回UNKNOWN_HOST,IP地址未知也可能是网络问题造成的。 * @since 0.12 */ public static String getHostName(String ip) { try { InetAddress inet = InetAddress.getByName(ip); return inet.getHostName(); } catch (UnknownHostException e) { return UNKNOWN_HOST; } }} byte[] ip=new byte[4]; ip[0]=(byte)193; ip[1]=(byte)167; ip[2]=(byte)13; ip[3]=(byte)127; System.out.println(InetAddress.getByAddress(ip).getHostName());这个方法试过了,输入本机上网IP地址时能正确显示主机名,但是输入其它互联网上用户的IP时显示的还是IP地址,即显示:61.141.33.82=61.141.33.82 to 沙虫: 你的资料从哪里来的?还有其它的类包的代码么?还有InetAddress里面根本没有getHostName的静态方法啊? java3d中detach问题 把应用程序的窗体最小化时放到右下角的任务栏怎么做呀? 高手不要忧郁了,进来哦~ 一个Java程序可否同时弹出两个DOS窗口用以显示不同的内容? 高手来!小问题我不会 一个关于键盘输入判断的问题,望高手告知,谢谢! 怎样实现图像的亮度调整? 用友-人力资源-java-问题 关于QQ的贴字实在是多,95%是废话,是猜测,是臆断, 如何通过Java程序访问Https JAVA执行的奇怪问题 请问org.tiling.scheduling.*这个包在什么地方可以下载?谢谢
ip[0]=(byte)193;
ip[1]=(byte)167;
ip[2]=(byte)13;
ip[3]=(byte)127;
System.out.println(InetAddress.getByAddress(ip).getHostName());
//btw,InetAddress.getByAddess(byte[])的参数是一个Ipv4地址或Ipv6地址,你要把你的ip地址转换成对应的byte[]才可以,否则就会抛出Exception
package org.jr.net;/**
* Copyright: Copyright (c) 2002-2003
* Company: JavaResearch(http://www.javaresearch.org)
* 最后更新日期:2003年3月4日
* @author Cherami
*/import java.net.*;/**
* IP地址相关的工具类,封装常用的IP工具方法。
* @since 0.12
*/public class IPUtil {
/**
* 非法IP地址常量。
* @since 0.12
*/
public static final String INVALID_IP = "0.0.0.0";
/**
* 未知主机名常量。
* @since 0.12
*/
public static final String UNKNOWN_HOST = "";
/**
* 私有构造方法,防止类的实例化,因为工具类不需要实例化。
*/
private IPUtil() {
} /**
* 根据主机名得到IP地址字符串。
* @param hostName 要查找地址的主机名
* @return 对应主机的IP地址,主机名未知或者非法时返回INVALID_IP。
* @since 0.12
*/
public static String getByName(String hostName) {
try {
InetAddress inet = InetAddress.getByName(hostName);
return inet.getHostAddress();
}
catch (UnknownHostException e) {
return INVALID_IP;
}
} /**
* 根据IP地址得到主机名。
* @param ip 要查找主界面的IP地址
* @return 对应IP的主机名,IP地址未知时返回UNKNOWN_HOST,IP地址未知也可能是网络问题造成的。
* @since 0.12
*/
public static String getHostName(String ip) {
try {
InetAddress inet = InetAddress.getByName(ip);
return inet.getHostName();
}
catch (UnknownHostException e) {
return UNKNOWN_HOST;
}
}
}
ip[0]=(byte)193;
ip[1]=(byte)167;
ip[2]=(byte)13;
ip[3]=(byte)127;
System.out.println(InetAddress.getByAddress(ip).getHostName());这个方法试过了,输入本机上网IP地址时能正确显示主机名,但是输入其它互联网上用户的IP时显示的还是IP地址,即显示:61.141.33.82=61.141.33.82
你的资料从哪里来的?还有其它的类包的代码么?
还有InetAddress里面根本没有getHostName的静态方法啊?