Apache HttpClient 4.2: hâld de proxy-AuthCache op de oanfraachkontekst
Hâld in HttpClient 4.2 proxy-Basic-auth-cache op deselde útfieringskontekst dy't lettere oanfragen brûke.
Yn in âlde HttpClient 4.2.2-applikaasje dogge in oanmeldgegevensferstrekker en in autentikaasjecache ferskillend wurk. De ferstrekker leveret it akkount; de cache lit in bewust foarôf konfigurearre autentikaasjeskema meidwaan foardat in nije útdaging komt.
Foar de âlde proxy-spesifike BasicScheme-konstruktor sjocht de oerdracht der sa út:
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);Dit fragmint nimt oan dat client al de passende proxy-route en oanmeldgegevensferstrekker hat. proxy is syn HttpHost, en request is de eigentlike operaasje. De cacheskaai moat dy tuskenpartij beskriuwe, net de bestimmingwebside.
Jou de folle kontekst oan execute. At jo dy bouwe en dan in oerlêst brûke dy't in oare kontekst makket, bliuwt de cache bûten de útwikseling. Hâld foar lettere operaasjes dy't dizze autentikaasjesteat diele moatte de passende kontekst, ynstee fan elke kear in lege wer op te bouwen.
De eksplisite PROXY-steat heart by dizze âldere API. TARGET giet oer autentikaasje fan de bestimming. Nijere HttpClient-generaasjes hawwe pakketten en autentikaasje-API's feroare, dus brûk dit as ûnderhâldslieding foar besteande 4.2-koade, net as resept foar in nije client.
In normale troch útdaging stjoerde útwikseling kin noch altyd korrekt wêze. Saai Basic-autentikaasje allinnich foar in bekende bedoelde proxy, en ferbrûk of meitsje elk antwurd frij foardat de folgjende operaasje syn ferbining nedich hat. It nuttige resultaat is in akkount en in cachet skema ferbûn oan de útfiering dy't de oanfraach wier ferstjoert.