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-тің өз біріктіру әрекетін анықтамайды.

Қатысты мақалалар