Захтев може радити кроз 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 када провера није изричито надјачана. Директан позив send с подразумеваним verify не обавља ту CA претрагу. Искључивање провере скрива разлику уместо да пружи намеравано спремиште сертификата.

Session.prepare_request() примењује и понашање припреме сесије. Директно креирање захтева кроз Request.prepare() засебан је избор; не очекујте аутоматску примену сесијских колачића или друге сесијске припреме.

Проксији имају прецизније правило

Не би било тачно рећи да сваки PreparedRequest игнорише прокси променљиве окружења. У Requests 2.34.2 send разрешава подразумеване проксије када недостаје кључни аргумент proxies. Давање proxies={} методу send прескаче ту конкретну грану разрешавања.

Празан речник прослеђен у merge_environment_settings има другу улогу: спајање га може попунити применљивим путањама из окружења пре слања методу send. Гледање само празног речника у два примера занемарује различите методе које га примају.

У сопственом коду за грађење захтева држите припрему, спајање окружења и слање заједно. Када апликација намерно користи trust_env=False, спајање поштује ту политику; не намеће поставке окружења клијенту који их је свесно искључио.

Повезани чланци