用java写一个域名有效期的查询接口
时间: 2023-05-22 22:02:03 浏览: 56
好的,以下是一个简单的用 Java 编写的查询域名有效期的接口:
```java
import java.net.*;
import java.io.*;
import java.text.*;
import java.util.*;
public class DomainExpirationDate {
public static void main(String[] args) {
String domainName = "example.com";
String whoisServer = "whois.verisign-grs.com";
int whoisPort = 43;
try {
Socket socket = new Socket(whoisServer, whoisPort);
OutputStream outputStream = socket.getOutputStream();
InputStream inputStream = socket.getInputStream();
String domainQuery = domainName + "\r\n";
outputStream.write(domainQuery.getBytes());
StringBuilder responseBuilder = new StringBuilder();
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
responseBuilder.append(new String(buffer, 0, len));
}
String response = responseBuilder.toString();
String[] lines = response.split("\n");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
for (String line : lines) {
if (line.startsWith("Registry Expiry Date:")) {
String dateString = line.substring("Registry Expiry Date:".length()).trim();
Date expirationDate = dateFormat.parse(dateString);
System.out.println("Domain " + domainName + " expires on " + expirationDate);
break;
}
}
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
你可以将 `domainName` 变量设置为你想要查询的域名,然后运行这个程序即可查询该域名的有效期。