Comportement lorsque plusieurs serveurs sont spécifiés dans les serveurs de noms de dnspython

Lorsque j'étudiais comment utiliser le module appelé dnspython, j'ai utilisé l'instruction for pour afficher la réponse comme indiqué ci-dessous, et j'avais une question simple, j'ai donc pris une note.

La conclusion du titre est qu'il se comporte de la même manière que lors de la mise en place d'un DNS primaire général et DNS secondaire, «j'aimerais pouvoir revenir de l'une ou l'autre» théorie, même si elle ne revient pas de tous, plusieurs fois Il semble qu'il se renseignera. Cependant, si le code SERVFAIL est renvoyé, il semble être exclu de la cible de nouvelle tentative.

Le déclencheur de l'expérience suivante

Pièce pour creuser avec python


resolver = dns.resolver.Resolver()
resolver.nameservers = [socket.gethostbyname(nameserver)]
for rdata in resolver.query('www.yahoo.com', 'A'):
    print rdata

J'ai pensé que cela était court-circuité.

Cependant, si vous pensez calmement

Je ne savais pas lequel c'était, alors je l'ai essayé et j'ai aussi lu la source et ça marche

  1. ** les serveurs de noms se comportent de la même manière que lors de la configuration du DNS principal général et du DNS secondaire **
  2. ** S'il y a plusieurs résultats du type de cible d'enquête, plusieurs résultats seront saisis dans rdata **

C'était un résultat très raisonnable comme le comportement du DNS. (Eh bien, si vous y réfléchissez maintenant, la valeur par défaut est le paramètre DNS par défaut)

Le suivant de côté. La raison pour laquelle j'avais le désir ci-dessus était que je devais vérifier si la zone était vraiment définie pour tous les serveurs DNS Route53 qui définissent une zone spécifique, et je ne voulais pas mettre une déclaration for. ..

Recommended Posts

Comportement lorsque plusieurs serveurs sont spécifiés dans les serveurs de noms de dnspython
Comportement lorsque Container Trainable = False dans Keras
Comportement dans chaque langue lorsque les collouts sont réutilisés avec for
Changer de version lorsque plusieurs versions de java sont incluses dans Linux
Comportement lors de la liste dans Python heapq
L'histoire lorsque différentes distributions sont spécifiées pour le même paramètre dans Optuna
Jugement de NaN par les pandas: lorsque le type str et le type float sont mélangés
Comment écrire une chaîne de caractères lorsqu'il y a plusieurs lignes en python
Lors de la spécification de plusieurs clés dans le tri python
Vérifiez le comportement du destroyer en Python
Comportement lors du retour dans le bloc with
Changement de comportement de [Diagramme / Chronologie] dans Chorégraphe 2.5.5.5
Différences de comportement de chaque langage LL lorsque l'index de la liste est ignoré