Bevar kodede proxy-legitimationsoplysninger i en batchfil
Bevar procentkodede proxy-brugernavne og -adgangskoder, når en Windows-kommando flyttes til en .bat-fil.
En proxy-URL virker, når den konfigureres direkte, men godkendelsen mislykkes, efter at den samme værdi er flyttet til en Windows-batchfil. Kontroller, om batch-parseren ændrede procenttegnene, før HTTP-klienten modtog URL'en.
Der er to separate repræsentationer. URL-kodning kan repræsentere en omvendt skråstreg som %5C og et spørgsmålstegn som %3F. Et bogstaveligt procenttegn i en batchfil-kommando skal escapes som %%.
For en illustrativ konto domain\user med pladsholderadgangskoden pass? kan en .bat-fil indeholde:
set "https_proxy=http://domain%%5Cuser:pass%%[email protected]:8080"
Den proces, der startes bagefter, bør modtage en URL, der indeholder domain%5Cuser:pass%3F. De fordoblede procenttegn hører til batchkilden, ikke til den proxy-URL, klienten gemmer.
Kopier ikke den batch-stavemåde til en .npmrc-fil eller et programs proxyfelt: disse input går ikke gennem det samme batch-parsingtrin. Ligeledes er dette eksempel ikke PowerShell-syntaks. En anden indpakning, såsom CALL eller en kommando bygget til en anden shell, kan indføre endnu en parsingrunde og kræver sin egen gennemgang.
Sæt SET-tildelingen i anførselstegn som vist, så tilfældige mellemrum eller shell-metategn ikke bliver en del af en utilsigtet kommando. Anførselstegn alene forhindrer ikke procentudvidelse.
Når du kontrollerer resultatet, sammenlign den forventede kodning med en redigeret repræsentation i stedet for at udskrive URL'en med adgangskoden til en delt log. En shell-escaping-reparation bevarer legitimationsoplysningen; den vælger ikke en godkendelsesordning, som klienten ikke allerede understøttede.