Un URL de proxy funciona cando se configura directamente, pero a autenticación falla despois de que o mesmo valor se traslade a un ficheiro batch de Windows. Comprobe se o analizador batch cambiou os signos de porcentaxe antes de que o cliente HTTP recibise o URL.

Hai dúas representacións distintas. A codificación de URL pode representar unha barra invertida como %5C e un signo de interrogación como %3F. Un signo de porcentaxe literal nun comando de ficheiro batch debe escaparse como %%.

Para unha conta ilustrativa domain\user co contrasinal de exemplo pass?, un ficheiro .bat pode conter:

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

O proceso iniciado despois debería recibir un URL que conteña domain%5Cuser:pass%3F. Os signos de porcentaxe duplicados pertencen á fonte batch, non ao URL de proxy que almacena o cliente.

Non copie esa grafía batch nun ficheiro .npmrc nin no campo de proxy dunha aplicación: esas entradas non pasan polo mesmo paso de análise batch. Do mesmo xeito, este exemplo non é sintaxe de PowerShell. Outro envoltorio, como CALL ou un comando construído para un segundo shell, pode introducir outra pasada de análise e necesita a súa propia revisión.

Pon a asignación SET entre comiñas como se mostra, para que os espazos incidentais ou os metacaracteres da shell non formen parte dun comando non desexado. As comiñas por si soas non impiden a expansión da porcentaxe.

Ao comprobar o resultado, compare a codificación esperada cunha representación redactada en lugar de imprimir o URL co contrasinal nun rexistro compartido. Unha reparación de escape da shell conserva a credencial; non selecciona un esquema de autenticación que o cliente xa non admite.

Artigos relacionados