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.

Relaterede artikler