વિનંતી હેન્ડલ પર 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 ને બદલતી નથી, જેમ એન્ડપોઈન્ટ સુધી સફળતાપૂર્વક પહોંચવું પ્રમાણીકરણ પૂર્ણ કરતું નથી.