我的代码中出现以下异常:
我无法理解这个例外的原因......
这是我的代码:{
import java.net.*;
import java.io.*;
class whois {
public static void main(String args[])throws Exception {
int c;
Socket s=new Socket("internic.net",43);
InputStream in=s.getInputStream();
OutputStream out=s.getOutputStream();
String str=(args.length==0 ? "webopedia.com" : args[0])+"\n";
byte buf[]=str.getBytes();
out.write(buf);
while((c=in.read())!=-1) {
System.out.print((char)c);
}
s.close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
请告诉这个例外的原因.
我做了一些挖掘.端口43是WHOIS服务,您似乎应该使用"whois.internic.net"作为WHOIS服务的Internic实例的主机名.
我目前正在为whois.internic.net获取"无路由主持人"...
我的结论是whois.internic.net上的主机和/或服务目前是不可靠的.我建议您使用"http://internic.net/whois.html"上的搜索表单.
上面的搜索表单给出了"www.webopedia.com"没有信息...因为它有没有关于该域的信息!但它有关于"webopedia.com"的信息.这对我来说很有意义:
"webopedia.com"是在某些域名注册商处注册并由".com"DNS服务器提供服务的主要域名.它有WHOIS信息.
"www.webopedia.com"是一个子域名,其DNS信息由运行"webopedia.com"的人员提供服务; 往上看.
通过查看两个名称的DNS记录可以确认这一点.使用dig
或等效的Windows工具查看DNS记录.
简而言之,你的程序说实话......当它运作时.