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.

Ähnliche Artikel