Прокси URL шууд тохируулагдсан үед ажилладаг боловч ижил утга Windows batch файл руу шилжсэний дараа нэвтрэлт бүтэлгүйтдэг. HTTP клиент URL-ыг авахаас өмнө batch задлагч хувийн тэмдгийг өөрчилсөн эсэхийг шалга.

Хоёр тусдаа дүрслэл бий. URL кодчилол нь буцах налуу зураасыг %5C, асуултын тэмдгийг %3F гэж дүрсэлж болно. Batch файлын команд дахь шууд хувийн тэмдгийг %% гэж escape хийх ёстой.

Жишээ domain\user бүртгэлд pass? орлуулагч нууц үгтэйгээр .bat файл дараахыг агуулж болно:

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

Дараа нь эхлүүлэгдэх процесс domain%5Cuser:pass%3F агуулсан URL хүлээж авах ёстой. Давхар хувийн тэмдэг нь batch эх сурвалжид хамаарах бөгөөд клиентийн хадгалсан прокси URL-д хамаарахгүй.

Тухайн batch бичлэгийг .npmrc файл эсвэл программын прокси талбарт хуулах хэрэггүй: эдгээр оролт нь ижил batch задлах шатнаас өнгөрдөггүй. Мөн энэ жишээ нь PowerShell синтакс биш. CALL эсвэл хоёр дахь shell-д зориулж бүтээсэн команд зэрэг өөр бүрхүүл нь дахин нэг задлах шат нэмж болох тул өөрийн гэсэн хяналт шаардлагатай.

SET оноолтыг үзүүлсэн шиг хашилтад хийж, санамсаргүй зай эсвэл shell-ийн мета тэмдэгтүүд санаандгүй командын хэсэг болохгүй байх ёстой. Хашилт дангаараа хувийн өргөтгөлөөс сэргийлэхгүй.

Үр дүнг шалгахдаа нууц үгтэй URL-ыг хуваалцсан бүртгэл рүү хэвлэхийн оронд хүлээгдэж буй кодчилолыг засварласан дүрслэлтэй харьцуул. Shell escape засвар нь нэвтрэх мэдээллийг хадгалдаг; клиентийн өмнө нь дэмжээгүй нэвтрэлтийн схемыг сонгодоггүй.

Холбоотой нийтлэлүүд