3

c# を使用してインターネット ドメイン (www.example.com) から cname および mx レコードをプログラムで取得する方法を誰か教えてもらえますか? 私の簡単な調査によると、UDP ソケット プローブを DNS サーバーに使用することで可能であることがわかりましたが、DNS サーバー アドレスを知らなくても、「www.example.com」のようなドメイン名だけでそれを実現できますか? DNSサーバーアドレスを知らなくても、サードパーティの無料ツールキットを使用してMXレコードを正常に取得しているため、可能だと思います。

ありがとう

4

2 に答える 2

1

上記のライブラリは試していませんが、ライブラリの代わりにサービスを使用することを検討します。望ましいユースケースはわかりませんが、この機能はasp.net Webアプリケーション、クロスプラットフォームモバイルアプリケーション、またはモバイルWebサイトでも提供できます。

  1. URLパラメータによって必要なドメイン情報を返すオンラインDNSツール(DNSWatchなど)を探します。
  2. 結果ページのHTML構造を確認してください

このHTMLを処理することはできますが、Yahooができることは、YQL htmlプロセッサを使用して、関連する部分をXMLまたはJSONで返すという汚い仕事です。

  1. YQLコンソールにアクセス
  2. SQLステートメントのテキスト領域に次のように入力します。select*fromhtml where url = "YOUR PARAMETRIC DNS URL" and xpath ='XPATH QUERY TO ACCESS NS OR MX RECORD IN THE RESULT HTML'
  3. コンソールでYQLステートメントをテストします
  4. HTTPリクエストを介してYQLステートメントを実行するシングルクライアントアプリケーションを開発します。このYQLJavaScriptチュートリアルからヒントを得ることができます。

長所:-アプリケーションは非常に軽量になる可能性があります短所:-結果ページのHTML構造を変更したり、リソースを使いすぎた後にDNSWatchがリクエストを拒否したりする可能性があります。

それでも、1時間で実用的なプロトタイプを実装できます。

于 2012-04-14T20:51:33.837 に答える
0

.Net フレームワークは直接サポートしていませんが、プラットフォーム SDK はDnsQuery の MSDN エントリをサポートしています。あなたがする必要があるのは、それをインポートすることだけですDllImport

于 2012-04-14T20:07:40.520 に答える