Requests PreparedRequest او د چاپېریال ورک تنظیمات
ځانګړې چمتو شوې غوښتنې د Requests د عادي پراکسي او CA چلند سره برابرې وساتئ، پرته له دې چې هر ټیټ send پراکسي له پامه غورځوي وبولئ.
غوښتنه په session.get() کار کولای شي، خو د PreparedRequest په بڼه له بیا لیکلو وروسته په سند تایید کې ناکامېدای شي. د ټیټې کچې send لاره د عادي request طریقې په شان چاپېریالي یوځای کول نه کوي.
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)
د URL له ټاکلو بدلونونو وروسته په وروستي چمتو شوي URL یوځای کول وکړئ. د پراکسي او تېرېدو پرېکړې په منزل پورې تړلې دي، نو د پخواني URL تنظیمات د رښتینې لېږل کېدونکې غوښتنې لپاره ناسم کېدای شي.
د CA تنظیم په اسانه هېرېږي
د چاپېریال عادي باور چې فعال وي او تایید په څرګنده نه وي بدل شوی، یوځای کول REQUESTS_CA_BUNDLE او بدیل CURL_CA_BUNDLE په پام کې نیسي. په اصلي verify تنظیم د send مستقیم بلل د CA دا لټون نه کوي. تایید بندول د مطلوب سند زېرمتون ورکولو پر ځای توپیر پټوي.
Session.prepare_request() د ناستې د چمتو کولو چلند هم کاروي. په Request.prepare() مستقیمه غوښتنه جوړول جلا ټاکنه ده؛ د ناستې کوکۍ یا نور چمتووالی په اوتومات پلي کېدو مه تمه کوئ.
پراکسي لا ځانګړې قاعده لري
دا ناسم دي چې هر PreparedRequest د پراکسي چاپېریال متغیرونه له پامه غورځوي. په Requests 2.34.2 کې send هغه وخت د پراکسي اصلي ارزښتونه ټاکي چې proxies نومول شوی دلیل نه وي. send ته proxies={} ورکول هماغه ځانګړې اصلي ټاکنې څانګه پرېږدي.
merge_environment_settings ته ورکړل شوی تش قاموس بله دنده لري: یوځای کول یې send ته له لېږلو مخکې په مناسبو چاپېریالي لارو ډکولای شي. په دوو کوډونو کې یوازې تش قاموس لیدل هغه بېلابېلې طریقې پټوي چې یې اخلي.
په ځانګړي غوښتنه جوړوونکي کوډ کې چمتووالی، چاپېریالي یوځای کول او لېږل یو ځای وساتئ. چې پروګرام په قصد trust_env=False کاروي، یوځای کول دا تګلاره مني؛ تنظیمات پر هغه کلاینټ په زور نه اچوي چې چاپېریال یې په قصد بند کړی وي.