Ailddefnyddio adnoddau OkHttp wrth ddewis proxy gwahanol
Dewiswch gleient OkHttp wedi'i ffurfweddu â phroxy cyn creu galwad a deall beth mae newBuilder yn ei rannu.
Nid oes gan gais OkHttp faes proxy cyffredinol y gellir ei newid. Dewiswch y cleient gyda'r llwybr a fwriedir cyn creu ei alwad.
Pan ddylai gweddill y ffurfweddiad aros yn rhannol, deilliwch y cleient llwybro o gleient sy'n bodoli eisoes:
OkHttpClient routed = baseClient.newBuilder()
.proxy(new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("203.0.113.10", 8080)))
.build();Mae'r pen pwynt yn enghreifftiol. Gall penau pwynt HTTP cyhoeddus o'r rhestr proxy HTTP lenwi'r cyfeiriad soced hwn ar gyfer llwybr gwasanaeth cyhoeddus a ganiateir, ar yr amod nad yw polisi'r cleient sylfaenol yn darparu unrhyw gymwysterau proxy i'r pen pwynt newydd. Mae OkHttp yn dogfennu bod newBuilder yn rhannu adnoddau pwll cysylltiadau a llinynnau gyda'r cleient gwreiddiol. Nid yw hynny'n golygu y gellir ailenwi soced a sefydlwyd trwy un proxy fel llwybr arall. Mae cymhwyster cysylltiad yn dal i ddibynnu ar ffurfweddiad y llwybr a'r cyfeiriad.
Ar gyfer gwaith ailadroddus, cadwch set gyfyngedig o gleientiaid wedi'u hallweddu yn ôl y polisi llwybro sydd ei angen arnoch mewn gwirionedd. Osgoi map diderfyn y mae ei allweddi'n cynnwys pob cyfrif dros dro neu amrywiad proxy a welwyd erioed.
Mae rhannu adnoddau hefyd yn effeithio ar gau. Gall cau storfa rannol neu ddiffodd anfonydd rannol effeithio ar gleientiaid deilliedig eraill sy'n defnyddio'r adnoddau hynny. Rhowch oes glir ar lefel cymhwysiad i berchnogaeth adnoddau yn lle trin pob cleient deilliedig fel stac rhwydwaith ar wahân.
Yn olaf, cynhwyswch hunaniaeth y proxy a ddewiswyd ym metadata'r alwad ei hun. Ni all newidyn byd-eang “y proxy olaf a ddewiswyd” adnabod llwybr sawl cais cyfochrog.