F'applikazzjoni antika ta' HttpClient 4.2.2, min jipprovdi l-kredenzjali u l-cache tal-awtentikazzjoni jagħmlu xogħol differenti. Il-fornitur jipprovdi l-kont; il-cache tħalli skema ta' awtentikazzjoni konfigurata apposta bil-quddiem tipparteċipa qabel ma tasal sfida oħra.

Għall-kostruttur BasicScheme antik speċifiku għall-proxy, il-konsenja tidher hekk:

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);

Dan il-framment jassumi li client diġà għandu r-rotta tal-proxy li taqbel u l-fornitur tal-kredenzjali. proxy huwa l-HttpHost tiegħu, u request hija l-operazzjoni attwali. Iċ-ċavetta tal-cache trid tiddeskrivi dak l-intermedjarju, mhux is-sit tad-destinazzjoni.

Għaddi l-kuntest mimli lil execute. Jekk tibnih u mbagħad tuża overload li joħloq kuntest ieħor, il-cache tibqa' barra mill-iskambju. Għall-operazzjonijiet sussegwenti li għandhom jaqsmu dak l-istat ta' awtentikazzjoni, żomm il-kuntest xieraq minflok terġa' tibni wieħed vojt kull darba.

L-istat PROXY espliċitu jappartjeni għal din l-API eqdem. TARGET jikkonċerna l-awtentikazzjoni tad-destinazzjoni. Il-ġenerazzjonijiet aktar ġodda ta' HttpClient biddlu l-pakketti u l-API tal-awtentikazzjoni, għalhekk uża dan bħala gwida ta' manutenzjoni għall-kodiċi 4.2 eżistenti u mhux bħala riċetta għal client ġdid.

Skambju normali mmexxi minn sfida xorta jista' jkun korrett. Żerriegħa l-awtentikazzjoni Basic biss għal proxy magħruf u maħsub, u kkonsma jew illibera kull risposta qabel ma l-operazzjoni li jmiss ikollha bżonn il-konnessjoni tagħha. Ir-riżultat utli huwa kont u skema fil-cache marbuta mal-eżekuzzjoni li tassew tibgħat it-talba.

Artikli relatati