Para a implementação com parâmetros separados proxy, user e 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")

Verifique a assinatura na versão do NLTK que o programa usa antes de adaptar exemplos antigos com tuple ou login por URL. O endpoint é o proxy, não o índice de dados do NLTK, e punkt é um recurso de exemplo que se substitui pelo pacote de que a aplicação precisa.

set_proxy instala um urllib opener com um manipulador de proxy e, quando recebe credenciais, manipuladores de autenticação de proxy. Não configura o Requests, o HTTPX, sockets arbitrários nem todos os subprocessos.

Os desafios de autenticação repetidos exigem comparar o esquema solicitado pelo serviço com os manipuladores disponíveis. Fornecer os argumentos corretos não acrescenta todos os métodos de autenticação corporativa.

Se a transferência for bem-sucedida mas o NLTK não encontrar os dados, examine os caminhos de busca e o layout do pacote como um problema separado de dados locais. Um download manual pode ser uma decisão de implantação deliberada; não prova que uma assinatura de chamada seja inválida nem explica um erro de proxy não resolvido. Mantenha as credenciais fora de scripts versionados e de URLs copiadas.

Artigos relacionados