クライアント側のJavaScriptでwhoisデータ(およびidnドメインも)を取得できるようにしたい。出来ますか?たぶん、RESTのような無料のWhoIsサービスが存在するのでしょうか?
5 に答える
http://whoisxmlapi.comサービスを使用してみてください。
サービスのURL:http ://www.whoisxmlapi.com/whoisserver/WhoisService
パラメータを指定する必要がoutputFormat=json
あります。domainName=insert_domain_here
URLの例:http ://www.whoisxmlapi.com/whoisserver/WhoisService?outputFormat = json&domainName=stackoverflow.com 。
サンプルコード(jQueryを使用してAJAX通信を簡素化):
$.ajax({
url: 'http://www.whoisxmlapi.com/whoisserver/WhoisService',
dataType: 'jsonp',
data: {
domainName: 'stackoverflow.com',
outputFormat: 'json'
},
success: function(data) {
console.log(data.WhoisRecord);
}
});
ここに動作するコードがあります。
アップデート:
上記のサービスは無料ではありませんが、HTML出力を提供する無料のwhoisサービスがいくつかあり、YQLを使用してHTMLをJSとして取得できます。詳細については、この回答を参照してください。
例(jQueryとjquery.xdomainajaxを使用):
var domain = 'stackoverflow.com';
$.ajax({
url: 'http://whois.webhosting.info/' + domain,
type: 'GET',
success: function(res) {
// using jQuery to find table with class "body_text" and appending it to a page
$(res.responseText).find('table.body_text').appendTo('body');
}
});
ここに動作するコードがあります。
HTMLドキュメントの構造を確認し、関心のあるデータを選択、処理、および表示する必要があります。この例では、処理を行わずにテーブル全体を印刷しています。
phpでexec()を有効にしている場合にできることは、次のようなphpファイルを作成することです。
exec('whois domain.com');
次に、ドメイン名を渡して出力するphpスクリプトにaa .ajax()リクエストを作成します。
node-whoisというnpmパッケージが私に代わって仕事をしてくれました。これはサーバー側のJSであり、クライアント側ではありませんが、おそらくこれは誰かを助けるでしょう。
また、JSON出力を備えた無料のwhoisプロバイダーを見つけようとしていますが、見つかりませんでした。ただし、Microsoftが提供するWHOIS Windowsクライアントがあり、上記の誰かのように、PHP/cgiを使用して詳細を取得できます。
無料でJSON出力を提供するWHOISルックアップ/クエリプロバイダーがあるかどうかはわかりません。
ところで、sourceforge.netのこのphpWhoisは、サーバーのwhoisを使用するための良い出発点になると思いました。これは、RoboWhois/RubyWhoisプロバイダーでも使用されるライブラリです。
whoisnpmモジュールを使用できます
https://www.npmjs.com/package/whois
また、Macターミナルで、これを試してwhoisデータを確認してください
whois google.com