Для реализации с отдельными параметрами proxy, user и 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")

Прежде чем адаптировать старые примеры с tuple или входом по URL, проверьте подпись в той версии NLTK, которую использует программа. Конечная точка — это прокси, а не индекс данных NLTK, а punkt — пример ресурса, который заменяется пакетом, нужным приложению.

set_proxy устанавливает urllib opener с обработчиком прокси и, если переданы учётные данные, с обработчиками проверки подлинности прокси. Он не настраивает Requests, HTTPX, произвольные сокеты или каждый подпроцесс.

Повторяющиеся запросы аутентификации требуют сравнения схемы, которую запрашивает служба, с доступными обработчиками. Правильные аргументы не добавляют каждый корпоративный метод проверки подлинности.

Если передача прошла успешно, но NLTK не находит данные, проверьте пути поиска и структуру пакета как отдельную проблему локальных данных. Ручная загрузка может быть осознанным решением при развёртывании; она не доказывает, что подпись вызова неверна, и не объясняет нерешённую ошибку прокси. Держите учётные данные вне зафиксированных скриптов и скопированных URL.

Похожие статьи