Requests PreparedRequest u settings tal-ambjent nieqsa
Żomm talbiet ippreparati apposta konsistenti mal-immaniġġjar normali ta’ proxy u CA ta’ Requests, mingħajr ma tassumi li kull send baxx jinjora proxies.
Talba tista’ taħdem permezz ta’ session.get() u tfalli fil-verifika taċ-ċertifikat wara li tinkiteb mill-ġdid bħala PreparedRequest. Il-mogħdija send ta’ livell baxx ma tagħmilx l-istess għaqda tal-ambjent bħall-metodu request normali.
import requests
with requests.Session() as session:
request = requests.Request("GET", "https://example.com/")
prepared = session.prepare_request(request)
settings = session.merge_environment_settings(
prepared.url, {}, None, None, None
)
response = session.send(
prepared,
timeout=(5, 15),
**settings,
)
response.raise_for_status()
print(response.status_code)
Agħmel l-għaqda bil-URL finali ppreparat wara l-bidliet intenzjonati tal-URL. Id-deċiżjonijiet tal-proxy u tal-bypass jiddependu mid-destinazzjoni, għalhekk settings miġbura għal URL preċedenti jistgħu jkunu żbaljati għat-talba li tibgħat tassew.
Is-setting CA huwa faċli li jintesa
Bil-fiduċja normali fl-ambjent mixgħula, l-għaqda tqis REQUESTS_CA_BUNDLE u r-riżerva CURL_CA_BUNDLE meta l-verifika ma tkunx ġiet megħluba espliċitament. Sejħa diretta send bil-verify predefinit ma tagħmilx dik it-tfittxija CA. Li titfi l-verifika jaħbi d-differenza minflok jipprovdi l-maħżen taċ-ċertifikati intenzjonat.
Session.prepare_request() japplika wkoll l-imġiba tal-preparazzjoni tas-sessjoni. Li toħloq talba direttament b’Request.prepare() hija għażla separata; tistenniex cookies tas-sessjoni jew preparazzjoni oħra tas-sessjoni awtomatikament.
Il-proxies għandhom regola aktar speċifika
Ma jkunx preċiż li jingħad li kull PreparedRequest jinjora l-varjabbli ambjentali tal-proxy. Fi Requests 2.34.2, send isolvi proxies predefiniti meta l-argument imsemmi proxies ikun nieqes. L-għoti ta’ proxies={} lil send jaqbeż eżatt dik il-fergħa tar-riżoluzzjoni predefinita.
Id-dizzjunarju vojt mogħti lil merge_environment_settings għandu rwol differenti: l-għaqda tista’ timlieh b’rotot tal-ambjent applikabbli qabel ma tgħaddih lil send. Li tħares biss lejn dizzjunarju vojt f’żewġ biċċiet jitlef il-metodi differenti li jirċevuh.
Fil-kodiċi apposta għall-bini tat-talbiet, żomm il-preparazzjoni, l-għaqda tal-ambjent u t-trażmissjoni flimkien. Meta l-applikazzjoni tuża trust_env=False apposta, l-għaqda tirrispetta dik il-politika; ma tisforzax settings tal-ambjent fuq klijent li deliberatament itfihom.