Un URL proxy funcționează când este configurat direct, dar autentificarea eșuează după ce aceeași valoare este mutată într-un fișier batch Windows. Verificați dacă parserul batch a modificat semnele de procent înainte ca clientul HTTP să primească URL-ul.

Există două reprezentări separate. Codificarea URL poate reprezenta o bară oblică inversă ca %5C și un semn de întrebare ca %3F. Un semn de procent literal într-o comandă de fișier batch trebuie escapat ca %%.

Pentru un cont ilustrativ domain\user cu parola substituent pass?, un fișier .bat poate conține:

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

Procesul lansat după aceea ar trebui să primească un URL care conține domain%5Cuser:pass%3F. Semnele de procent dublate aparțin sursei batch, nu URL-ului proxy stocat de client.

Nu copiați acea scriere batch într-un fișier .npmrc sau în câmpul proxy al unei aplicații: acele intrări nu trec prin același pas de analiză batch. De asemenea, acest exemplu nu este sintaxă PowerShell. Un alt înveliș, cum ar fi CALL sau o comandă construită pentru un al doilea shell, poate introduce o altă trecere de analiză și necesită propria verificare.

Puneți atribuirea SET între ghilimele, așa cum se arată, pentru ca spațiile accidentale sau metacaracterele shell-ului să nu facă parte dintr-o comandă nedorită. Ghilimelele singure nu împiedică expandarea procentului.

Când verificați rezultatul, comparați codificarea așteptată cu o reprezentare redactată în loc să tipăriți URL-ul cu parolă într-un jurnal partajat. O corectare a escapării shell păstrează acreditarea; nu selectează o schemă de autentificare pe care clientul nu o accepta deja.

Articole similare