3

DNSクエリにc-aresを使用しています。問題は、 NS値を取得する方法がわからないことです。例が見つかりませんでした。ドキュメントだけでは不十分です:(

ares_parse_ns_replyのマニュアルページには、関数の説明のみが記載されています。私はすでに自分のチャンネルを作成し、gethostbynameクエリを作成する方法を理解しています。

    // ...
    status = ares_init_options(&channel, &options, optmask);
    if (status != ARES_SUCCESS) {
        printf("ares_init_options: %s\n", ares_strerror(status));
        return EXIT_FAILURE;
    }
    // ...
    ares_gethostbyname(channel, "stackoverflow.com", AF_INET, callback, NULL);
    // ...

しかし、MX / NS / AAAAレコードを取得するには、次に何をしますか?

4

1 に答える 1

7

数時間後:

static void callback_ns(void *arg, int status, int timeouts, unsigned char *abuf, int alen)
{
   struct hostent *host = NULL;
   ares_parse_ns_reply(abuf, alen, &host)
   // your result now in "host" variable
}

ares_query(channel, "stackoverflow.com", ns_c_in, ns_t_ns, callback_ns, NULL);
于 2012-06-10T16:59:57.323 に答える