പ്രോക്സി URL നേരിട്ട് കോൺഫിഗർ ചെയ്യുമ്പോൾ പ്രവർത്തിക്കുന്നു, പക്ഷേ അതേ മൂല്യം Windows ബാച്ച് ഫയലിലേക്ക് മാറ്റിയ ശേഷം പ്രാമാണീകരണം പരാജയപ്പെടുന്നു. HTTP ക്ലയന്റ് URL ലഭിക്കുന്നതിന് മുമ്പ് ബാച്ച് പാഴ്സർ ശതമാന ചിഹ്നങ്ങൾ മാറ്റിയോ എന്ന് പരിശോധിക്കുക.

രണ്ട് വേറിട്ട പ്രതിനിധാനങ്ങളുണ്ട്. URL എൻകോഡിംഗിന് പ്രതിനിധീകരിക്കാം ബാക്ക്സ്ലാഷിനെ %5C ആയും ചോദ്യചിഹ്നത്തെ %3F ആയും. ബാച്ച് ഫയൽ കമാൻഡിലെ അക്ഷരാർത്ഥ ശതമാന ചിഹ്നം %% ആയി എസ്കേപ്പ് ചെയ്യണം.

ഉദാഹരണ അക്കൗണ്ട് domain\user ന്, പ്ലെയ്സ്ഹോൾഡർ പാസ്വേഡ് pass? ഉപയോഗിച്ചാൽ, .bat ഫയലിൽ ഇത് അടങ്ങിയിരിക്കാം:

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

തുടർന്ന് ആരംഭിക്കുന്ന പ്രോസസ്സിന് domain%5Cuser:pass%3F അടങ്ങിയ URL ലഭിക്കണം. ഇരട്ടിച്ച ശതമാന ചിഹ്നങ്ങൾ ബാച്ച് ഉറവിടത്തിന്റേതാണ്, ക്ലയന്റ് സൂക്ഷിക്കുന്ന പ്രോക്സി URL ന്റേതല്ല.

ആ ബാച്ച് അക്ഷരവിന്യാസം .npmrc ഫയലിലേക്കോ ആപ്ലിക്കേഷന്റെ പ്രോക്സി ഫീൽഡിലേക്കോ പകർത്തരുത്: ആ ഇൻപുട്ടുകൾ അതേ ബാച്ച് പാഴ്സിംഗ് ഘട്ടത്തിലൂടെ കടന്നുപോകുന്നില്ല. അതുപോലെ, ഈ ഉദാഹരണം PowerShell സിന്താക്സ് അല്ല. CALL പോലുള്ള മറ്റൊരു റാപ്പർ അല്ലെങ്കിൽ രണ്ടാമത്തെ ഷെല്ലിനായി നിർമ്മിച്ച കമാൻഡ് മറ്റൊരു പാഴ്സിംഗ് ഘട്ടം കൊണ്ടുവരാം, അതിന് സ്വന്തം അവലോകനം ആവശ്യമാണ്.

SET അസൈൻമെന്റ് കാണിച്ചിരിക്കുന്നതുപോലെ ഉദ്ധരണികളിൽ ഇടുക, അപ്രതീക്ഷിത ഇടവേളകളോ ഷെൽ മെറ്റാകാരക്ടറുകളോ ഉദ്ദേശിക്കാത്ത കമാൻഡിന്റെ ഭാഗമാകാതിരിക്കാൻ. ഉദ്ധരണികൾ മാത്രം ശതമാന വിപുലീകരണം തടയുന്നില്ല.

ഫലം പരിശോധിക്കുമ്പോൾ, പാസ്വേഡ് ഉള്ള URL പങ്കിട്ട ലോഗിലേക്ക് അച്ചടിക്കുന്നതിനുപകരം പ്രതീക്ഷിത എൻകോഡിംഗ് എഡിറ്റ് ചെയ്ത പ്രതിനിധാനവുമായി താരതമ്യം ചെയ്യുക. ഷെൽ-എസ്കേപ്പിംഗ് അറ്റകുറ്റപ്പണി ക്രെഡൻഷ്യൽ സംരക്ഷിക്കുന്നു; ക്ലയന്റ് മുമ്പ് പിന്തുണയ്ക്കാത്ത ഒരു പ്രാമാണീകരണ സ്കീം അത് തിരഞ്ഞെടുക്കുന്നില്ല.

അനുബന്ധ ലേഖനങ്ങൾ