In fersyk kin fia session.get() wurkje en nei herskriuwen as PreparedRequest mislearje by sertifikaatferifikaasje. It leechlizzende send-paad docht net deselde omjouwingsgearfoeging as de normale request-metoade.

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)

Foegje gear mei de definitive tariede URL, nei alle bedoelde URL-wizigingen. Proxy- en omgeanbesluten hingje fan de bestimming ôf; ynstellingen foar in eardere URL kinne ferkeard wêze foar it fersyk datst echt stjoerst.

De CA-ynstelling wurdt maklik mist

Mei normaal fertrouwen yn de omjouwing oan hâldt de gearfoeging rekken mei REQUESTS_CA_BUNDLE en de weromfal CURL_CA_BUNDLE as ferifikaasje net eksplisyt oerskreaun is. send streekrjocht mei standert-verify oanroppe docht dy CA-sykaksje net. Ferifikaasje útsette ferberget it ferskil ynstee fan de bedoelde sertifikaatopslach te leverjen.

Session.prepare_request() past ek it tariedingsgedrach fan de sesje ta. In fersyk streekrjocht mei Request.prepare() meitsje is in oare kar; ferwachtsje gjin automatyske tapassing fan sesjekoekjes of oare sesjetarieding.

Foar proxy’s jildt in spesifikere regel

It soe ûnkrekt wêze te sizzen dat elke PreparedRequest proxyomjouwingsfariabelen negearret. Yn Requests 2.34.2 bepaalt send standertproxy’s as it kaaiwurdargumint proxies ûntbrekt. proxies={} oan send jaan slacht krekt dy tûke foar standertbepaling oer.

It lege wurdboek oan merge_environment_settings hat in oare rol: de gearfoeging kin it folje mei passende omjouwingsrûtes foar’t it nei send giet. Allinnich it lege wurdboek yn twa foarbylden sjen mist de ferskillende ûntfangende metoaden.

Hâld yn eigen fersykbou tarieding, omjouwingsgearfoeging en ferstjoering byinoar. As de tapassing bewust trust_env=False brûkt, respektearret de gearfoeging dat belied; it twingt gjin omjouwing op oan in kliïnt dy’t dy mei opsetsin útskeakele hat.

Relatearre artikelen