Requests PreparedRequest og vantandi umhvørvisstillingar
Hav sergjørdar fyrireikaðar umbønir í samsvari við vanliga proxy- og CA-handfaring hjá Requests uttan at halda, at øll lágstigs send-kall síggja burtur frá proxyum.
Ein umbøn kann virka við session.get() og falla við váttanarprógvkanning eftir at verða endurskrivað sum PreparedRequest. Lágstigs send-leiðin ger ikki somu umhvørvissamanlegging sum vanligi request-hátturin.
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)
Legg saman við endaligu fyrireikaðu URL eftir ætlaðar URL-broytingar. Proxy- og framviðavgerðir eru treytaðar av málinum, so stillingar savnaðar til eina fyrru URL kunnu vera skeivar til umbønina, tú veruliga sendir.
CA-stillingin er løtt at gloyma
Við vanligum áliti á umhvørvið virkið tekur samanleggingin hædd fyri REQUESTS_CA_BUNDLE og varamøguleikanum CURL_CA_BUNDLE, tá kanningin ikki er beinleiðis yvirstýrd. At kalla send beinleiðis við vanligari verify-stilling ger ikki ta CA-leitingina. At sløkkja kanningina fjalir munin heldur enn at veita ætlaðu váttanarprógvgoymsluna.
Session.prepare_request() nýtir eisini fyrireikingarháttin hjá setuni. At gera eina umbøn beinleiðis við Request.prepare() er eitt serstakt val; vænta ikki sjálvvirkandi nýtslu av setufarsporum ella aðrari setufyrireiking.
Proxyar hava eina nágreiniligari reglu
Tað hevði verið skeivt at sagt, at hvør PreparedRequest sær burtur frá proxy-umhvørvisvariablum. Í Requests 2.34.2 finnur send vanlig proxyvirði, tá proxies-lyklaargumentið manglar. At geva proxies={} til send loypir júst ta greinina um at finna vanlig virði um.
Tóma orðabókin givin til merge_environment_settings hevur annan leiklut: samanleggingin kann fylla hana við hóskandi umhvørvisleiðum, áðrenn hon verður latin til send. At hyggja bert at einari tómari orðabók í tveimum dømum letur ymisku móttakandi háttarnar fara fram við.
Hav fyrireiking, umhvørvissamanlegging og sending saman í sergjørdari umbønarkodu. Tá forritið við vilja brúkar trust_env=False, virðir samanleggingin tann politikkin; hon tvingar ikki umhvørvisstillingar inn í eitt viðskiftaforrit, sum tilvitað sløkti tær.