gpt4 book ai didi

java - Android 版 java 中的 whois

转载 作者:行者123 更新时间:2023-12-02 00:30:51 24 4
gpt4 key购买 nike

我正在用java为android制作一个whois来训练流和tcp连接。

但我有一个问题。我有一个 php 脚本,我前段时间写的,我正在尝试用 java 制作同样的脚本。

这是我的java代码:

 public String consultawhois(String domain,String tld)
{
String domquest = domain + "." + tld;
String resultado = "";
Socket theSocket;
String hostname = "whois.internic.net";
int port = 43;
try {
theSocket = new Socket(hostname, port, true);
Writer out = new OutputStreamWriter(theSocket.getOutputStream());
out.write(domquest + "\r\n");
out.flush();
DataInputStream theWhoisStream;
theWhoisStream = new DataInputStream(theSocket.getInputStream());
String s;
while ((s = theWhoisStream.readLine()) != null) {
resultado = resultado + s + "\n";
}
}
catch (IOException e) {
}

return resultado;
}

服务器的答案不正确,我认为问题是我发送了错误的查询。我发送的查询是“dominio.com\r\n”,在我的 php whois 代码中,它运行良好。

最佳答案

DNS 查询似乎匹配了多个记录。至少,我是这样解释这个回应的。在返回的响应中,您应该看到以下行:

To single out one record, look it up with "xxx", where xxx is one of the of the records displayed above. If the records are the same, look them up with "=xxx" to receive a full display for each record.

因此,如果您在查询前面添加“=”,它将仅返回该记录的数据。以下内容对我有用。

public String consultawhois(String domain,String tld)
{
String domquest = domain + "." + tld;
String resultado = "";
Socket theSocket;
String hostname = "whois.internic.net";
int port = 43;
try {
theSocket = new Socket(hostname, port, true);
Writer out = new OutputStreamWriter(theSocket.getOutputStream());
out.write("="+domquest + "\r\n");
out.flush();
DataInputStream theWhoisStream;
theWhoisStream = new DataInputStream(theSocket.getInputStream());
String s;
while ((s = theWhoisStream.readLine()) != null) {
resultado = resultado + s + "\n";
}
}
catch (IOException e) {
}

return resultado;
}

需要考虑的一件事:使用英语作为方法名称、变量等,而不是西类牙语。它将使您的代码更容易在国际范围内阅读。编程语言本身也使用英语单词。尽量避免英语和您的母语的奇怪混合。

关于java - Android 版 java 中的 whois,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9114854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com