session.proxies бир чекитти көрсөтүп, бирок скрипт кабыктын проксисин колдонсо, ошол сөздүктү кайра ыйгаруу карама-каршылыкты чечпейт. Requests чөйрөнүн прокси жөндөөлөрүн Session демейкилеринен артык кылып бириктире алат. Session чөйрөдөн жөндөө табууну улантабы, ошону тандаңыз.

Чөйрөдөн аныктоону сактап, жолдорду суроодо бериңиз

Бул Session/чөйрө карама-каршылыгын болтурбоо үчүн Requests сунуштагандай өзүнчө чакырууга так маанилерди бериңиз:

proxies = {
    "http": "http://127.0.0.1:8080",
    "https": "http://127.0.0.1:8080",
}

with requests.Session() as session:
    response = session.get(
        "https://example.com/",
        proxies=proxies,
        timeout=(5, 15),
    )
    response.raise_for_status()

Жергиликтүү угуучуну өзүңүздүкүнө алмаштырыңыз. Коомдук HTTP чекиттерин салыштырсаңыз, Session саясатын өзгөртпөй HTTP проксилердин тизмесинен талапкерлерди тандаңыз. Бул берилген дал келтирүү жазууларын башкарат; тиркеменин башка схемалары же хосттору үчүн да аң-сезимдүү тандаңыз. Кызмат, IDE, контейнер же CI аткаруучу терминалдан башка чөйрөнү мурасташы мүмкүн.

Session өз жөндөөлөрүн башкарсын

Тиркеме чөйрөдөн прокси таппашы керек болсо, саясатты биринчи суроого чейин коюңуз:

with requests.Session() as session:
    session.trust_env = False
    session.proxies = {
        "http": "http://127.0.0.1:8080",
        "https": "http://127.0.0.1:8080",
    }
    response = session.get(
        "https://example.com/",
        timeout=(5, 15),
    )
    response.raise_for_status()

trust_env=False чөйрөгө байланыштуу сертификат жөндөөлөрүнө жана автоматтык netrc аутентификациясына да таасир этет. Тандоодо бул көз карандылыктарды эске алыңыз. Бекитилген жеке CA сертификаттар топтомуна так жол бере аласыз:

response = session.get(
    "https://example.com/",
    timeout=(5, 15),
    verify="/path/to/approved-ca-bundle.pem",
)

Чындап бекитилген топтомду колдонуп, текшерүүнү күйгүзүлгөн бойдон калтырыңыз. Башка иштер колдонгон бир Session-ды өзгөртпөй, ар бир багыт саясатына өзүнчө Session сактаңыз.

Эки вариант тең тиркеме жолун түшүндүрбөсө, обочолонгон Session-ды тиркеме менен бирдей аткаруу чөйрөсүндө жана зыянсыз максатта салыштырыңыз. Бар прокси өзгөрмөлөрүн, trust_env маанисин жана чакыруу proxies берерин жазыңыз; кирүү маалыматтуу URL-дерди жалпы журналга кошпоңуз. Обочодогу ийгилик кийинки текшерүүнү Session түзүүгө, адаптерлерге, даярдалган суроо агымдарына же өз транспортторуна багыттайт. curl чөйрө сыноосу Requests-тин өз бириктирүү жүрүмүн аныктабайт.

Тектеш макалалар