需求:
需要获取域名的whois
实现:
依赖:
<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.3</version> </dependency>
代码:
public String getWhois(String domain) {
String whois = StringUtils.EMPTY;
try {
String server = "";
final int index;
String tld = (domain == null || (index = domain.lastIndexOf('.') + 1) < 1) ? domain
: (index < (domain.length())) ? domain.substring(index)
: "";
if ("com".equals(tld)) {
server = "whois.verisign-grs.com";
} else if ("net".equals(tld)) {
server = "whois.verisign-grs.com";
} else if ("org".equals(tld)) {
server = "whois.pir.org";
} else if ("cn".equals(tld)) {
server = "whois.cnnic.cn";
} else if ("jp".equals(tld)) {
server = "whois.jprs.jp";
} else if ("kr".equals(tld)) {
server = "whois.kr";
}
WhoisClient wc = new WhoisClient();
wc.connect(server, 43);
whois = wc.query(domain);
if (wc.isConnected()) {
wc.disconnect();
}
} catch (Exception e) {
LOGGER.warn("getWhois:" + domain + " exception:" + e.getMessage());
}
return whois;
}