Sa isang lumang aplikasyong HttpClient 4.2.2, magkaibang gawain ang ginagawa ng provider ng kredensyal at ng cache ng pagpapatotoo. Ang provider ang nagbibigay ng account; ang cache ang nagpapahintulot sa isang sadyang paunang na-configure na scheme ng pagpapatotoo na lumahok bago dumating ang susunod na hamon.

Para sa lumang constructor na BasicScheme na pantangi sa proxy, ganito ang paghahatid:

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

Ipinapalagay ng bahaging ito na mayroon nang tugmang ruta ng proxy at provider ng kredensyal ang client. Ang proxy ang HttpHost nito, at ang request ang aktuwal na operasyon. Dapat ilarawan ng susi ng cache ang tagapamagitan na iyon, hindi ang destinasyong website.

Ipasa ang napunlang konteksto sa execute. Ang pagbuo nito at pagkatapos ay paggamit ng overload na gumagawa ng ibang konteksto ay nag-iiwan sa cache sa labas ng palitan. Para sa mga susunod na operasyong dapat magbahagi ng estadong iyon ng pagpapatotoo, panatilihin ang angkop na konteksto sa halip na muling buuin ang isang walang laman sa bawat pagkakataon.

Ang tahasang estadong PROXY ay kabilang sa lumang API na ito. Ang TARGET ay tungkol sa pagpapatotoo sa destinasyon. Binago ng mas bagong henerasyon ng HttpClient ang mga pakete at API ng pagpapatotoo, kaya gamitin ito bilang gabay sa pagpapanatili para sa umiiral na code na 4.2 at hindi bilang resipi para sa bagong client.

Ang karaniwang palitang pinapatakbo ng hamon ay maaari pa ring maging tama. Maghasik ng Basic na pagpapatotoo para lamang sa kilala at sinadyang proxy, at ubusin o pakawalan ang bawat tugon bago kailanganin ng susunod na operasyon ang koneksyon nito. Ang kapaki-pakinabang na resulta ay isang account at naka-cache na scheme na nakakabit sa pagpapatupad na aktuwal na nagpapadala ng kahilingan.

Kaugnay na mga artikulo