Apache HttpClient 4.2: de Proxy-AuthCache um Ufro-Kontext behalen
Behält en HttpClient 4.2 Proxy-Basic-Auth-Cache um selwechten Ausféierungskontext, deen déi spéider Ufroe benotzen.
An enger aler HttpClient 4.2.2-Anwendung maachen en Identitéitsprovider an en Authentifikatiounscache verschidden Aufgaben. De Provider liwwert den Kont; de Cache erlaabt engem bewosst virde konfiguréierten Authentifikatiounsschema matzemaachen, ier déi nächst Erausfuerderung kënnt.
Fir den alen proxy-spezifeschen BasicScheme-Konstruktor gesäit d'Iergab esou aus:
AuthCache cache = new BasicAuthCache();
cache.put(proxy, new BasicScheme(ChallengeState.PROXY));
HttpContext context = new BasicHttpContext();
context.setAttribute(ClientContext.AUTH_CACHE, cache);
HttpResponse response = client.execute(request, context);Dëse Fragment geet dovun aus, datt client schonn déi passend Proxy-Route an den Identitéitsprovider huet. proxy ass säin HttpHost, a request ass déi tatsächlech Operatioun. De Cache-Schlëssel muss deen Intermédiaire beschreiwen, net d'Zilsäit.
Gitt de gefëllten Kontext un execute. En opbauen an duerno eng Iwwerlaascht benotzen, déi en anere Kontext erschaaft, léisst de Cache ausserhalb vum Austausch. Fir spéider Operatiounen, déi dësen Authentifikatiounsstatus deele sollen, behält de passenden Kontext, amplaz all Kéier en eidelen nei opzebauen.
Den expliziten PROXY-Status gehéiert zu dëser eelerer API. TARGET betrëfft d'Authentifikatioun vum Zil. Méi nei HttpClient-Generatiounen hunn d'Paketen an d'Authentifikatiouns-APIen geännert, dofir benotzt dëst als Ënnerhaltsguide fir besteierenden 4.2-Code, net als Rezept fir en neie Client.
En normale, erausfuerderungsgesteierte Austausch kann nach ëmmer richteg sinn. Sät Basic-Authentifikatioun nëmmen fir e bekannten a gewollten Proxy, a verbrauch oder gitt all Äntwert fräi, ier déi nächst Operatioun hir Verbindung brauch. D'nëtzlech Resultat ass en Kont an e gecachte Schema, déi un d'Ausféierung gebonne sinn, déi d'Ufro tatsächlech schéckt.