Օգտագործեք proxy=, երբ մեկ վերջնակետը պետք է մշակի հաճախորդի հարցումները։ Օգտագործեք mounts=, երբ նպատակակետի սխեմաները տարբեր ուղիներ են պահանջում։ Օրինակներն օգտագործում են այս HTTPX միջերեսները․ հին proxies= API-ով նախագծին պետք է իր տարբերակին համապատասխան կարգավորում։

Մեկ վերջնակետ

import httpx

timeout = httpx.Timeout(15.0, connect=5.0)

with httpx.Client(
    proxy="http://127.0.0.1:8080",
    trust_env=False,
    timeout=timeout,
) as client:
    response = client.get("https://example.com/")
    response.raise_for_status()
    print(response.status_code)

Տեղային լսող հանգույցը փոխարինեք աշխատող HTTP պրոքսիով։ HTTP պրոքսիների ցանկի թեկնածուն նույնպես պետք է փորձարկել ձեր նպատակակետի հետ։ HTTPS թիրախը կարող է այս http:// վերջնակետն օգտագործել CONNECT-ով։ Սխեման https:// դարձնելը խնդրում է TLS հենց պրոքսիի հետ, ինչը պետք է աջակցեն և՛ լսող հանգույցը, և՛ հաճախորդը։

Առանձին ուղիներ՝ ըստ նպատակակետի սխեմայի

import httpx

mounts = {
    "http://": httpx.HTTPTransport(
        proxy="http://127.0.0.1:8080",
        trust_env=False,
    ),
    "https://": httpx.HTTPTransport(
        proxy="http://127.0.0.1:8081",
        trust_env=False,
    ),
}

with httpx.Client(
    mounts=mounts,
    trust_env=False,
    timeout=httpx.Timeout(15.0, connect=5.0),
) as client:
    response = client.get("https://example.com/")
    response.raise_for_status()
    print(response.status_code)

Կցման բանալիները համապատասխանում են թիրախային URL-ներին։ HTTP թիրախներն այստեղ ընտրում են 8080 պորտը, իսկ HTTPS-ը՝ 8081։ Պրոքսիի արժեքը նկարագրում է լսող հանգույցի սեփական արձանագրությունը, ուստի HTTPS կցումը կարող է ճիշտ ներառել http:// պրոքսի։ Մուտքագրեք ձեր վերջնակետերն ու ստուգեք երկու նպատակային սխեմաները։

Երկու եղանակներն էլ trust_env=False են սահմանում հաճախորդի և տրամադրված transport-ների վրա։ Այլապես HTTPX-ը լռելյայն կարդում է պրոքսիի և վկայագրերի միջավայրի փոփոխականները։ Եթե տեղակայումը կախված է դրանցից, հայտնաբերումը միացված թողեք կամ հստակ սահմանեք ուղիներն ու վստահությունը։ Մասնավոր վստահության համար օգտագործեք ձեր HTTPX տարբերակի աջակցած TLS համատեքստն ու CA կարգավորումը․ նպատակակետի ստուգումը միացված թողեք։ HTTPS պրոքսիի վստահությունը կարող է առանձին լինել նպատակակետից։

httpx.Timeout(15.0, connect=5.0)-ը փոխարինում է միացման սպասման սահմանը և մյուս կարգավորված բաղադրիչներին տալիս լռելյայն արժեքը։ Ընթերցումը, գրանցումը և pool-ին սպասելը առանձին սահմաններ ունեն․ տասնհինգ վայրկյանը իրական անցած ժամանակի ընդհանուր վերջնաժամկետ չէ։ Pool-ի ժամանակի սպառումը կարող է նշանակել, որ այլ աշխատանքը զբաղեցնում է հասանելի միացումները։ Ճիշտ փակեք հաճախորդներն ու հոսքային պատասխանները՝ նախքան դա պրոքսիի անհասանելիության ապացույց համարելը։

Առնչվող հոդվածներ