Python nntplib.Nntp

Python nntplib.Nntp
„Pakiet określa klasę NNTP, która realizuje protokół transferu wiadomości sieciowych po stronie klienta. Funkcją klasy modułu NNTP jest ustalenie, gdzie możemy zlokalizować implementację protokołu przelewów sieciowych po stronie klienta (NNTP). Może być stosowany do rozwoju autonomicznych agregatorów wiadomości, czytników wiadomości lub plakatów. Wraz z bardziej starożytnym RFC 977 i RFC 2980, jest on interoperacyjny z RFC 3977. W tym artykule będziemy wdrożyć kilka przykładów w Pythonie, aby zilustrować użycie NNTPLIB.Moduł NNTP."

Przykład 01

W pierwszym przykładzie tego artykułu dowiedzmy się, jak wykorzystać NNTP w języku programowania Pythona pokazanego na obrazie załączonym kodem. Kod jest zapisywany i uruchamiany za pomocą narzędzia do programowania Spyder. Zaleca się zaimportowanie NNTP z biblioteki NNTPLIB, aby użyć klasy modułu NNTP.

Pierwsze dwa wiersze skryptu w poniższej próbce importuj wymagane klasy z pakietu NNTPLIB. Musimy najpierw zaimportować NNTP i decode_header, ponieważ ich używamy. Dostarczyliśmy nazwę serwera, na przykład „wiadomości.Gane.IO ”, dla którego próbujemy połączyć się z serwerem informacyjnym w trzecim wierszu kodu Pythona. Ponieważ ustawiamy tryb czytnika na true, NNTP powoduje aktywację czytników wiadomości.

Możemy jednak pominąć tę flagę i przekazać tylko nazwę serwera, co jest wymagane. Aby wyświetlić niektóre informacje statystyczne na temat grupy dyskusyjnej i pięciu najnowszych tematów artykułów. Klasa nntplib.Nntp (gospodarz, port = 119 [domyślnie], użytkownik = brak, hasło = brak, ReadMode = true, usenetrc = false[[[, koniec czasu]). Przed przeprowadzeniem uwierzytelnienia wydawane jest polecenie czytnika trybu, jeśli tryb opcjonalnego czytnika flagi jest prawdziwy. Jeśli chcesz użyć poleceń specyficznych dla czytnika, takich jak grupa podczas podłączania się do serwera NNTP maszyny lokalnej, może być konieczne przejście do trybu czytnika, aby włączyć. Jeśli napotkasz nieoczekiwane nntpperManentErrors, być może będziesz musiał włączyć tryb czytnika.

Zwróć nowy obiekt NNTP, który reprezentuje połączenie z serwerem nntp opartym na hostach. Połączenie gniazda ma opcjonalny limit czasu, który można zdefiniować. Instrukcje dotyczące użytkownika AuthInfo i Authinfo są używane do uwierzytelnienia użytkownika, który chce połączyć się z serwerem, jeśli w jakiś sposób dostarczane są opcjonalna nazwa użytkownika i hasło lub jeśli odpowiednie poświadczenia są dostępne w /.NETRC i opcjonalna flaga używają NETRC jest prawdziwe.

Przed przeprowadzeniem uwierzytelnienia polecenie czytnika trybu jest dostarczane, jeśli tryb dodatkowego czytnika flagi jest ustawiony na true. Jeśli chcesz użyć poleceń specyficznych dla czytnika, takich jak grupa, podłączając się do lokalnego serwera NNTP, może być konieczne przejście do trybu czytnika.

Po uruchomieniu kodu Pythona wytwarzane jest dane wyjściowe. Pierwszy wiersz pokazuje całkowitą liczbę artykułów opublikowanych lub odczytanych z „Gane.komp.pyton.Grupa zaangażowani, która może również obejmować zakres artykułów. Tematy najnowszych pięciu artykułów opublikowanych przez tę grupę są wymienione w następujących wierszach.

Przykład 02

W tym przykładzie będziemy link do strony z wiadomościami, która działa jako serwer „wiadomości.Gane.Org ”, który należy do grupy„ Gane.komp.pyton.generał ”i przeglądaj ostatnie 10 postów lub artykułów w środku. Na górze pliku kodu zdefiniowaliśmy zmienne dla nazwy serwera, nazwy grupy i kilku artykułów/postów, które chcemy czytać indywidualnie. Następnie pokazano instrukcję drukowania wskazującą, że połączymy się z wymaganym serwerem.

Następnie użyliśmy polecenia importu, aby dodać niezbędne moduły klasy NNTP do kodu. Następnie musimy użyć klasy NNTP, która zwraca obiekt połączenia typu NNTP, aby połączyć się z niezbędnym serwerem. Korzystając z nazwy grupy zdefiniowanej w drugim wierszu kodu w pliku Pythona, musimy użyć tego obiektu, aby uzyskać szczegóły żądanej grupy, która może zawierać listę artykułów.

Jednak błąd połączenia Spyder Tool wskazuje, że informacje serwera są niedokładne, gdy próbujemy uruchomić kod. Tak więc w tym przykładzie widzieliśmy, że jeśli próbujemy połączyć się z pewnym serwerem, który nie odpowiada, albo w dół.

Połączymy się z serwerem „Wiadomości.Mixmin.net ”w tym przykładzie. "rozmawiać.eutanazja ”to nazwa grupy. Mamy instrukcję importu dla każdego modułu i niezbędnych klas na początku naszego kodu. Wiadomość, którą łączymy z serwerem dla grupy, jest następnie wydrukowana. Następnie użyliśmy NNTP do utworzenia połączenia z grupą dyskusyjną. Następnie otrzymaliśmy informacje na temat odpowiedzi, liczbę artykułów/postów, ich liczby początkowe i końcowe oraz nazwa grupy.

Funkcja NewNews, która zasadniczo przyjmuje nazwę grupy i parametry DATETIME, aby uzyskać najnowsze wiadomości dla tego konkretnego okresu, jest używana w następującej wierszu. Zdanie, które pokazuje, że mamy grupę z kilkoma artykułami, zostało następnie wydrukowane. Następnie czytamy odpowiedzi artykułów przed użyciem pętli do wyświetlania na ekranie. Tylko identyfikator i tytuł odpowiedzi można wyświetlić z powodu ograniczeń przestrzennych. Używając zmiennej ciała utworzonej w trzecim wierszu pętli dla For, mamy również możliwość pokazania ciała artykułu.

W ostatniej pętli pokazaliśmy temat i ciało najnowszych artykułów za pomocą zmiennej IDS, która była odpowiedzią funkcji NewNews. Ale nie mamy nowych przyszłych do tej daty. Zobacz ekran wyjściowy wykonania powyższego kodu.

Wniosek

Ten artykuł dotyczył „Python nntplib.Nntp ”. Opracowaliśmy użycie klasy NNTP w bibliotece Nntplib w Python. W tym celu wykorzystaliśmy w sumie 2 przykłady w naszym artykule, aby osobno omówić różne zastosowania w kodzie Python. Szczegółowe wyjaśnienie kodu i wyjścia przedstawia użycie Python nntplib.Nntp. Te przykłady są zaimplementowane na narzędziu Spyder w systemie operacyjnym Windows. Jednak użytkownik musi wybrać pracę nad żądanym systemem operacyjnym.