Comment obtenir une fonctionnalité similaire à la commande code> code> code> à l'aide d'une API C (ou d'une autre langue à ce sujet)? J'ai besoin de plus d'informations qu'une seule adresse IP donnée par gethostbyname () code>; Plus précisément, les données relatives à SMTP. P>
7 Réponses :
Je ne pense pas qu'il existe une fonction dans la bibliothèque standard C pour cela, mais de nombreuses langues de script ont cette fonctionnalité "intégrée". Par exemple, Perl a le Si vous avez besoin de le faire en C, un rapide Google affiche quelques bibliothèques C sur lesquelles vous pouvez utiliser: p> NET :: DNS CODE> < / a> package:
Je suggérerais Firedns . C'est une bibliothèque C très rapide C pour toutes sortes de requêtes DNS. P>
Le projet a l'air abandonné (dernière publication en 2004) et malheureusement, le lien de téléchargement ne fonctionne pas ( firestuff.org ) ...
Si une requête bloquante (synchrone) est correcte, utilisez simplement res_query () Code>
et liez votre programme avec -lresolv.
len = res_query(host, C_IN, T_MX, &answer, sizeof(answer));
Et j'ajouterais, sauf si vous écrivez un relais de messagerie, vous ne devriez certainement pas rechercher des enregistrements MX - vous devriez passer le courrier à un relais de courrier configuré par l'utilisateur. P>
J'aime ADNS car il permet aux demandes asynchrones p>
ps, je préfère comme les feudns, parce que c'est beaucoup plus facile et plus clair: D
Je sais que la question est ancienne, mais j'ai la longue foutu d'une bibliothèque DNS, et toutes les réponses ici me frappent. Je pense que les bibliothèques comme les ADNS / UDN ont écrit non pour les êtres humains. Et les feudns pendant longtemps n'ont pas de travail de téléchargement de travail. P>
J'ai trouvé Poslib comme meilleure bibliothèque DNS avec une interface très facile. P>
Vous pouvez également essayer C-ARES Library https://c-ares.haxx.se/ A>, qui permet d'envoyer des requêtes DNS asynchrones. Il est également livré avec Adig - sa propre version de Dig Utility pour interroger DNS. Vous pouvez vérifier pour voir comment analyser la réponse DNS: Adig. Source C p>
Lorsque vous mentionnez SMTP-liée i>, voulez-vous dire l'enregistrement MX pour un domaine?
Dupliquer de Stackoverflow.com/Questtions/1093410/ ... et plusieurs otehrs