2011-07-18 14 views
5

とにかく、私は小さなPHPウェブサイト/スクリプトに取り組んでおり、PHPスクリプトが実行されている現在のドメインでWHOIS検索を実行できるようにしたいと考えています。PHPまたはPythonでWHOISルックアップを実行するにはどうすればよいですか?

理想的には、呼び出すことができる関数の1つで、関数内ではWHOISを実行し、その結果を画面にエコーします。 WHOISルックアップを実行するにはサイトのURLが必要になりますが、現在のURL /ドメイン(必要な場合は必要な場合)に変数を入力することもできます。

私はWHOISのルックアップについてよく知らない(よく知られているように、PHPで実行する方法はわかりませんが、あなたが私にそれのためのコードを与えることができれば私自身のものさえも)。

何がうまくいけば、教えてください!主なことは、私はそれが1つの関数にすべて収まることを望んでおり、それは間違いなく1つのPHPファイル/ドキュメントに収まる必要があることです。

答えて

5

これは、あなたが望む正確に何をすべき... http://www.phpwhois.org/

私は正確に何をしたいやって、前にこのクラスを使用しました!

+0

驚くほど働いた、ありがとうございました!私はそれを私のサイトに合わせるためにちょっと変えなければならなかったが、それでも問題なく動作する! – Alper

+0

それはあなたのために働いてうれしい!あなたが持っていたスペース/ファイルの要件に適合しなければなりません。もしそうでなければ、私たちは皆さんがそれを手助けできると確信しています。 – Mingle

+1

どのスクリプトを使用するにしても、ほとんどのWHOISサーバーでは厳密なクエリ制限が適用されます(これらはサーバーとTLDによって異なります)。したがって、一括クエリを実行する必要がある場合は、「WHOIS LIMIT EXCEEDED」エラーの一部のバージョンが表示されます。 –

0

pywhoisを使用することをお勧めします。あなたは質問のタイトルでPythonを言うが、ポストでは言及しない。実際にPHPが必要な場合は、それに相当するものがあると確信しています。

+0

ええ、私はPython以上のPHPが必要だと思いますが、この特定のプロジェクトではまだpywhoisを使用していると思います。ありがとうございました! – Alper

6

phpでは、shell_execを使ってwhoisコマンドを実行できます。

<?php 
    $whois = shell_exec("whois domain.net"); 
    echo '<pre>'; 
    print_r($whois); 
    ?> 
+0

いいえ、whoisコマンドを実行したり、プログラミング言語の中のライブラリを使用したり、ポート43でTCPソケットを開いたりしないでください(RFC3912 –

2

はPavelsはさらに一歩に答える取るには - これは、アレイの中でそれを打破します:

$whois = shell_exec("whois 45.118.135.255"); 

$result = explode("\n",$whois); 

$out = array(); 
foreach ($result as $line){ 
    if (substr($line,0,1) == '%' || substr($line,0,1) == '#'){ continue; } 

    $ps = explode(':',$line); 
    $out[trim($ps[0])] = trim($ps[1]); 
} 

print '<pre>'; print_r($out); print '</pre>'; 
+0

を参照)。いいえ、whoisコマンドを実行するためにシェルしないでください。ポート43でTCPソケットを開くか、RFC3912を参照してください。 –

関連する問題