うwhois情報のドメイン名の私のプログラム?
-
09-06-2019 - |
質問
用していただきたいと思いwhois情報のドメイン名からデザインインタフェースjavaプログラムある単純ない。
解決
と思い最も簡単な方法は、ソケット接続へのwhoisサーバのポート43.送信ドメイン種別その後の改行およびみます。
他のヒント
かぴC#例dotnet-snippets.com (るには存在しないも).
この11行のコードをコピー&ペースト直線にも適用されます。
/// <summary>
/// Gets the whois information.
/// </summary>
/// <param name="whoisServer">The whois server.</param>
/// <param name="url">The URL.</param>
/// <returns></returns>
private string GetWhoisInformation(string whoisServer, string url)
{
StringBuilder stringBuilderResult = new StringBuilder();
TcpClient tcpClinetWhois = new TcpClient(whoisServer, 43);
NetworkStream networkStreamWhois = tcpClinetWhois.GetStream();
BufferedStream bufferedStreamWhois = new BufferedStream(networkStreamWhois);
StreamWriter streamWriter = new StreamWriter(bufferedStreamWhois);
streamWriter.WriteLine(url);
streamWriter.Flush();
StreamReader streamReaderReceive = new StreamReader(bufferedStreamWhois);
while (!streamReaderReceive.EndOfStream)
stringBuilderResult.AppendLine(streamReaderReceive.ReadLine());
return stringBuilderResult.ToString();
}
トーマス'回答の場合に動作しますか る "whoisサーバーに接続します。
多くの異なる方法を探ることが無(AFAIK)が均一のための全てのドメインレジストリ。
一部のドメイン名の支援 SRV
記録のための _nicname._tcp
サービスのDNSが課題となっていることがありません標準とされていなどを防止するsubdomainからまでご利用いただける SRV
記録のメソッドをオーバーライドする、公式レジストリを参照 http://tools.ietf.org/html/draft-sanz-whois-srv-00).
多くのTldなどが発生する可能性があり検索する <tld>.whois-servers.net
.この実際に作るもので注意がんの全てがある場合には正式に委任事務の大半をドメイン.
例えば、 .uk
あの公式なサブドメインがその .uk
レジストリ、その他は、独自のWHOISサービスなの whois-servers.net
データベースです。
紛らわしい外観が"非公式"レジストリなどの .uk.com
, は、 は の whois-servers.net
データベースです。
p.s.の行末の区切り文字にWHOIS、ほとんどのIETFのプロトコル CRLF
, だけでなく、 LF
.
このウェブサービスを提供する。これは無た。 http://www.webservicex.net/whois.asmx?op=GetWhoIS
かぴC#例です。この11行のコードをコピー&ペースト直線にも適用されます。がまだ追加を計るための処理方法が適切れを防ぐメモリ漏えい:
StringBuilder stringBuilderResult = new StringBuilder();
using(TcpClient tcpClinetWhois = new TcpClient(whoIsServer, 43))
{
using(NetworkStream networkStreamWhois = tcpClinetWhois.GetStream())
{
using(BufferedStream bufferedStreamWhois = new BufferedStream(networkStreamWhois))
{
using(StreamWriter streamWriter = new StreamWriter(bufferedStreamWhois))
{
streamWriter.WriteLine(url);
streamWriter.Flush();
using (StreamReader streamReaderReceive = new StreamReader(bufferedStreamWhois))
{
while (!streamReaderReceive.EndOfStream) stringBuilderResult.AppendLine(streamReaderReceive.ReadLine());
}
}
}
}
}
このJavaソリューションセンターで開シェルと whois
:
import java.io.*;
import java.util.*;
public class ExecTest2 {
public static void main(String[] args) throws IOException {
Process result = Runtime.getRuntime().exec("whois stackoverflow.com");
BufferedReader output = new BufferedReader(new InputStreamReader(result.getInputStream()));
StringBuffer outputSB = new StringBuffer(40000);
String s = null;
while ((s = output.readLine()) != null) {
outputSB.append(s + "\n");
System.out.println(s);
}
String whoisStr = output.toString();
}
}