Python nntplib.Nntp

Python nntplib.Nntp
«Le package spécifie la classe NNTP qui réalise le protocole de transfert de nouvelles du réseau côté client. La fonction de la classe du module NNTP est de savoir où nous pouvons localiser l'implémentation du protocole de transfert de nouvelles du réseau côté client (NNTP). Il peut être appliqué au développement d'agrégateurs de nouvelles autonomes, de lecteurs de nouvelles ou d'affiches. Avec les plus anciennes RFC 977 et RFC 2980, il est interopérable avec RFC 3977. Dans cet article, nous allons mettre en œuvre quelques exemples dans Python pour illustrer l'utilisation de NNTPLIB.Module NNTP."

Exemple 01

Dans le premier exemple de cet article, apprenons à utiliser NNTP dans le langage de programmation Python illustré dans l'image de code jointe. Le code est écrit et exécuté à l'aide de l'outil de développement de Spyder. Il est conseillé d'importer le NNTP de la bibliothèque NNTPLIB pour utiliser la classe du module NNTP.

Les deux premières lignes de script dans l'échantillon ci-dessous importent les classes requises du package NNTPLIB. Nous devons d'abord importer NNTP et DECOD_HEADER parce que nous les utilisons. Nous avons fourni le nom du serveur, comme «les nouvelles.gmane.IO », pour laquelle nous tentons de nous connecter au serveur d'actualités dans la troisième ligne de code Python. Parce que nous définissons le mode du lecteur sur true, NNTP amène les lecteurs à l'activation des lecteurs.

Cependant, nous pouvons omettre ce drapeau et passer uniquement le nom du serveur, qui est requis. Pour afficher des informations statistiques sur un groupe de discussion et les cinq articles les plus récents des sujets. La classe nntplib.NNTP (héberger, port = 119 [par défaut], utilisateur = aucun, mot de passe = aucun, ReaderMode = True, usnetrc = faux[, temps libre]). Avant que l'authentification ne soit effectuée, une commande de lecteur de mode est émise si le mode de lecteur de drapeau facultatif est vrai. Si vous souhaitez utiliser des commandes spécifiques au lecteur comme le groupe tout en étant connecté à un serveur NNTP de machine local, vous devrez peut-être passer en mode lecteur pour activer. Si vous rencontrez des NntppermanenTerrors inattendus, vous devrez peut-être activer le mode lecteur.

Renvoie un nouvel objet NNTP qui représente une connexion au serveur NNTP à l'écoute de port basée sur l'hôte. La connexion à socket a un délai d'attente facultatif qui peut être défini. Les instructions Authinfo User et Authinfo PASS sont utilisées pour authentifier l'utilisateur qui souhaite se connecter au serveur si en quelque sorte le nom d'utilisateur et le mot de passe facultatifs sont fournis ou si des informations d'identification appropriées sont disponibles en /.NETRC et le drapeau facultatif utilisent NetRC est vrai.

Avant que l'authentification ne soit effectuée, une commande de lecteur de mode est livrée si le mode de lecture de drapeau supplémentaire est défini sur true. Si vous souhaitez utiliser des commandes spécifiques au lecteur comme le groupe tout en étant connecté à un serveur NNTP local, vous devrez peut-être passer en mode lecteur.

Lorsque le code Python est exécuté, la sortie illustrée ci-dessous est produite. La première ligne montre le nombre total d'articles publiés ou lus dans le «Gmane.se comporter.python.Groupe des engageurs, qui peut également inclure la gamme des articles. Les sujets des cinq derniers articles publiés par ce groupe sont répertoriés dans les lignes suivantes.

Exemple 02

Dans cet exemple, nous nous lierons vers le site Web d'actualités qui agit comme un serveur «News.gmane.org ", qui appartient au groupe" Gmane.se comporter.python.Général »et parcourez les 10 derniers articles ou articles à l'intérieur. En haut du fichier de code, nous avons défini des variables pour le nom du serveur, le nom du groupe et plusieurs articles / articles que nous souhaitons lire individuellement. Suite à cela, une déclaration d'impression indiquant que nous nous connecterons au serveur requis est affiché.

Après cela, nous avons utilisé la commande d'importation pour ajouter les modules de classe NNTP nécessaires au code. Ensuite, nous devons utiliser la classe NNTP, qui renvoie un objet de connexion de type NNTP, pour se connecter au serveur nécessaire. En utilisant le nom de groupe défini dans la deuxième ligne du code dans le fichier Python, nous devons utiliser cet objet pour obtenir les détails du groupe souhaité, qui peut contenir la liste des articles.

Cependant, l'erreur de connexion de Spyder Tool indique que les informations du serveur sont inexactes lorsque nous essayons d'exécuter le code. Donc, dans cet exemple, nous avons vu que si nous essayons de nous connecter à un serveur qui ne répond pas ou ne soit pas en bas.

Nous nous connecterons au serveur «Actualités.mixmin.net »dans cet exemple. "parler.Euthanasie »est le nom du groupe. Nous avons un relevé d'importation pour chaque module et les classes nécessaires au début de notre code. Le message que nous nous connectons au serveur pour le groupe est ensuite imprimé après cela. Après cela, nous avons utilisé NNTP pour créer une connexion au groupe de discussion. Après cela, nous avons reçu des informations sur la réponse, le nombre d'articles / articles, leurs numéros de début et de fin et le nom du groupe.

La fonction Newnews, qui prend essentiellement le nom du groupe et les paramètres DateTime pour acquérir les nouvelles les plus récentes pour cette période spécifique, est utilisée dans la ligne suivante. La phrase qui montre que nous avons un groupe avec plusieurs articles a ensuite été imprimé. Après cela, nous lisons les réponses de l'article avant d'utiliser une boucle pour les afficher à l'écran. Seul l'identifiant et le titre de la réponse peuvent être affichés en raison de restrictions d'espace. En utilisant la variable corporelle créée dans la troisième ligne de la boucle pour.

Dans la dernière boucle, nous avons affiché le sujet et le corps des derniers articles en utilisant la variable IDS, qui a été la réponse de la fonction Newnews. Mais nous n'avons pas de nouvelles pour cette date. Voir l'écran de sortie de l'exécution du code ci-dessus.

Conclusion

Cet article concernait «Python nntplib.Nntp ". Nous avons développé l'utilisation de la classe NNTP dans la bibliothèque NNTPLIB de Python. Pour cela, nous avons utilisé un total de 2 exemples dans notre article pour en discuter séparément différentes utilisations dans le code Python. L'explication détaillée du code et de la sortie représente l'utilisation de Python nntplib.Nntp. Ces exemples sont implémentés sur l'outil Spyder dans le système d'exploitation Windows. Cependant, il appartient à l'utilisateur de choisir de travailler sur le système d'exploitation souhaité.