NLTK-Proxy-Anmeldedaten: die set_proxy-Signatur prüfen
Gleichen Sie set_proxy mit der installierten NLTK-Signatur ab und behalten Sie den Geltungsbereich des urllib-Openers im Blick.
Für die Implementierung mit getrennten Parametern proxy, user und password:
import getpass
import nltk
proxy_user = input("Proxy username: ")
proxy_password = getpass.getpass("Proxy password: ")
nltk.set_proxy(
"http://proxy.example.net:8080",
user=proxy_user,
password=proxy_password,
)
nltk.download("punkt")Prüfen Sie die Signatur in der NLTK-Version, die das Programm verwendet, bevor Sie ältere Beispiele mit Tupel oder URL-Login anpassen. Der Endpunkt ist der Proxy, nicht der NLTK-Datenindex, und punkt ist eine Beispielressource, die durch das von der Anwendung benötigte Paket ersetzt wird.
set_proxy installiert einen urllib-Opener mit einem Proxy-Handler und, wenn Anmeldedaten übergeben werden, mit Proxy-Authentifizierungs-Handlern. Requests, HTTPX, beliebige Sockets oder jeden Subprozess konfiguriert es nicht.
Wiederholte Authentifizierungsaufforderungen erfordern den Vergleich des vom Dienst geforderten Schemas mit den verfügbaren Handlern. Die richtigen Argumente fügen nicht jede Enterprise-Authentifizierungsmethode hinzu.
Wenn die Übertragung gelingt, NLTK die Daten aber nicht findet, untersuchen Sie Suchpfade und Paketaufbau als separates Problem lokaler Daten. Ein manueller Download kann eine bewusste Bereitstellungsentscheidung sein; er belegt nicht, dass eine Aufrufsignatur ungültig ist, und erklärt keinen ungelösten Proxyfehler. Halten Sie Anmeldedaten aus eingecheckten Skripten und kopierten URLs heraus.