Gach toradh a chruinneachadh bho iarrtasan proxy urllib3 co-aigeannach
Roinn ProxyManager rèitichte eadar snàithlean obrach, caitheamh iteratair thoraidhean an neach-gnìomhachaidh agus dealaich gleidheadh na linne bho chrìoch ceangail.
Cha toir cruthachadh linn luchd-obrach na duilleagan a chaidh a luchdachadh sìos don neach-ghairm. Cùm agus caitheamh na luachan a bheir an obair a chaidh a chuir a-steach air ais:
from concurrent.futures import ThreadPoolExecutor
import urllib3
manager = urllib3.ProxyManager(
'http://proxy.example:8080',
maxsize=4,
block=True,
)
def fetch(url):
response = manager.request(
'GET', url, timeout=urllib3.Timeout(connect=5, read=15),
)
return url, response.status, response.data
try:
with ThreadPoolExecutor(max_workers=4) as workers:
results = list(workers.map(fetch, urls))
finally:
manager.clear()Tha an earrann seo a' gabhail ri liosta cuibhrichte de URLan agus meudan freagairt àbhaisteach. Airson sgrùdaidhean URL poblach ceadaichte gun dearbhadh proxy, faodaidh tagraiche bhon liosta proxy HTTP ceann-uidhe HTTP eisimpleir a' mhanaidseir a chur na àite. Tha gach toradh a' gabhail a-steach an URL aige gus an urrainn don neach-ghairm inbhe agus corp a cheangal ris an iarrtas cheart. Bheir map toraidhean air ais ann an òrdugh a' chuir a-steach; thèid eisgeachd ann an neach-obrach a thogail nuair a gheibhear an toradh sin.
Tha seilbh aig an ProxyManager rèitichte air linne cheangail nan iarrtasan. Leis a' mhodh freagairt ro-luchdaichte bunaiteach a thathar a' cleachdadh an seo, leughaidh urllib3 an corp agus bheir e an ceangal air ais don linn aige. Dh'fheumadh dreach sruthadh caitheamh soilleir agus leigeil às a' cheangail.
Mar as trice bidh maxsize a' stiùireadh cheanglaichean ath-chleachdaidh a thèid a chumail, chan e crìoch chruaidh air gach socaid fhosgailte. Bidh block=True ag atharrachadh giùlan na linne buntainn gus an feith neach-ghairm air ceangal saor an àite barrachd fhosgladh thar chrìoch na linne sin.
Tha an àireamh luchd-obrach a' cuibhreachadh ghairmean co-aigeannach san eisimpleir seo. Le mòran chinn-uidhe, tha cuideachd cudromach air dòigh-lìn na linne agus an t-slighe a thathar a' cleachdadh airson tunailean HTTPS; cha bu chòir suidheachadh airson aon linn a bhith air a mhìneachadh mar aon chuota socaid chruinneil airson gach òstair.