Um URL de proxy funciona quando é configurado diretamente, mas a autenticação falha depois de o mesmo valor ser movido para um ficheiro batch do Windows. Verifique se o analisador batch alterou os sinais de percentagem antes de o cliente HTTP receber o URL.

Existem duas representações distintas. A codificação de URL pode representar uma barra invertida como %5C e um ponto de interrogação como %3F. Um sinal de percentagem literal num comando de ficheiro batch tem de ser escapado como %%.

Para uma conta ilustrativa domain\user com a palavra-passe de exemplo pass?, um ficheiro .bat pode conter:

set "https_proxy=http://domain%%5Cuser:pass%%[email protected]:8080"

O processo iniciado depois deve receber um URL que contenha domain%5Cuser:pass%3F. Os sinais de percentagem duplicados pertencem à origem batch, não ao URL de proxy guardado pelo cliente.

Não copie essa grafia batch para um ficheiro .npmrc nem para o campo de proxy de uma aplicação: essas entradas não passam pela mesma etapa de análise batch. Do mesmo modo, este exemplo não é sintaxe PowerShell. Outro invólucro, como CALL ou um comando construído para uma segunda shell, pode introduzir outra passagem de análise e precisa da sua própria revisão.

Coloque a atribuição SET entre aspas como mostrado, para que espaços acidentais ou metacaracteres da shell não passem a fazer parte de um comando indesejado. As aspas por si só não impedem a expansão da percentagem.

Ao verificar o resultado, compare a codificação esperada com uma representação redigida em vez de imprimir o URL com a palavra-passe num registo partilhado. Uma correção de escape da shell preserva a credencial; não seleciona um esquema de autenticação que o cliente já não suportava.

Artigos relacionados