അഭ്യർത്ഥന ഹാൻഡിലിൽ WinHTTP പ്രോക്സി ചലഞ്ചിന് ഉത്തരം നൽകുന്നു
പ്രോക്സി പ്രാമാണീകരണ ലക്ഷ്യവും പിന്തുണയുള്ള നിർദ്ദേശിത സ്കീമും ഉപയോഗിച്ച് WinHttpSetCredentials ഉപയോഗിക്കുക, തുടർന്ന് അഭ്യർത്ഥന ബോധപൂർവ്വം വീണ്ടും ശ്രമിക്കുക.
ഒരു WinHTTP അഭ്യർത്ഥനയ്ക്ക് 407 ലഭിച്ചതിന് ശേഷം, നിർദ്ദേശിക്കപ്പെട്ട രീതികൾ പരിശോധിക്കാൻ WinHttpQueryAuthSchemes ഉപയോഗിക്കുക, ക്ലയന്റും അക്കൗണ്ടും പിന്തുണയ്ക്കുന്ന ഒന്ന് തിരഞ്ഞെടുക്കുക. ആ അഭ്യർത്ഥനയിൽ ക്രെഡൻഷ്യലുകൾ സജ്ജമാക്കുക:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
അവസാനത്തെ റിസർവ്ഡ് ആർഗ്യുമെന്റ് null ആയിരിക്കണം. ബൂളിയൻ ഫലവും പരാജയപ്പെടുമ്പോൾ GetLastError പരിശോധിക്കുക. വിജയം എന്നാൽ API ക്രമീകരണം സ്വീകരിച്ചു എന്നാണ്, പ്രോക്സി ലോഗിൻ സ്വീകരിച്ചു എന്നല്ല.
നിയന്ത്രിത പ്രാമാണീകരണ പ്രവാഹത്തിലൂടെ വീണ്ടും അയയ്ക്കുക, പ്രതികരണം പരിശോധിക്കുക. ആവർത്തനങ്ങൾ പരിമിതപ്പെടുത്തുക; പ്രവർത്തനം ആവർത്തിക്കുകയാണെങ്കിൽ ഇതിനകം ഉപയോഗിച്ച അഭ്യർത്ഥന-ബോഡി സ്ട്രീം വീണ്ടും പ്ലേ ചെയ്യാൻ കഴിയണം. ലക്ഷ്യസ്ഥാനത്തിന്റെ 401 WINHTTP_AUTH_TARGET_SERVER ഉപയോഗിക്കുന്നു, ഈ പ്രോക്സി ലക്ഷ്യത്തിൽ നിന്ന് വ്യത്യസ്തമാണ്.
ഈ ക്രെഡൻഷ്യലുകൾ ഒരു അഭ്യർത്ഥനയ്ക്ക് മാത്രം ബാധകമാണ്. തുടർന്നുള്ള അഭ്യർത്ഥനകൾക്കായി WinHTTP ഇവയെ പൊതു ക്രെഡൻഷ്യൽ സംഭരണിയാക്കുന്നില്ല. പുനരുപയോഗിച്ച പ്രാമാണീകരിച്ച കണക്ഷനുകൾ മറ്റൊരു ചലഞ്ച് താൽക്കാലികമായി മറയ്ക്കാം, അതിനാൽ ഭാവിയിലെ ചലഞ്ചുകളും ആപ്പ് കൈകാര്യം ചെയ്യണം.
പ്രോക്സി തിരഞ്ഞെടുപ്പ് വേറിട്ട് സൂക്ഷിക്കുക. ക്രെഡൻഷ്യലുകൾ ഉള്ള വിലാസ ശ്രേണി ഈ അഭ്യർത്ഥന-ഹാൻഡിൽ API-യ്ക്ക് പകരമാകുന്നില്ല, എൻഡ്പോയിന്റിൽ വിജയകരമായി എത്തുന്നത് പ്രാമാണീകരണം പൂർത്തിയാക്കാത്തതുപോലെ.