Miután egy WinHTTP-kérés 407-et kap, a WinHttpQueryAuthSchemes segítségével vizsgálja meg a felkínált módszereket, és válasszon egyet, amelyet az ügyfél és a fiók is támogat. Állítsa be a hitelesítő adatokat azon a kérésen:

WinHttpSetCredentials(
    requestHandle,
    WINHTTP_AUTH_TARGET_PROXY,
    selectedScheme,
    proxyUser,
    proxyPassword,
    nullptr);

Az utolsó fenntartott argumentumnak null értékűnek kell lennie. Ellenőrizze a logikai eredményt, hiba esetén pedig a GetLastError értékét. A siker azt jelenti, hogy az API elfogadta a beállítást, nem azt, hogy a proxy elfogadta a bejelentkezést.

Küldje újra ellenőrzött hitelesítési folyamaton keresztül, és vizsgálja meg a választ. Korlátozza az ismétléseket; a már felhasznált kéréstest-folyamnak újrajátszhatónak kell lennie, ha a művelet megismétlődik. A cél 401 válasza a WINHTTP_AUTH_TARGET_SERVER értéket használja, ami eltér ettől a proxycéltól.

Ezek a hitelesítő adatok egyetlen kérésre érvényesek. A WinHTTP nem teszi őket általános hitelesítőadat-tárrá a későbbi kérésekhez. Az újrahasznosított hitelesített kapcsolatok ideiglenesen elrejthetnek egy másik kihívást, ezért az alkalmazásnak a jövőbeli kihívásokat is kezelnie kell.

Tartsa külön a proxy kiválasztását. A hitelesítő adatokat tartalmazó címkarakterlánc nem helyettesíti ezt a kéréskezelő API-t, ahogyan a végpont sikeres elérése sem fejezi be a hitelesítést.

Kapcsolódó cikkek