Notaðu proxy= þegar einn endapunktur á að afgreiða beiðnir biðlarans. Notaðu mounts= þegar áfangaskemu þurfa ólíkar leiðir. Dæmin nota þessi HTTPX-viðmót; verkefni með eldra API-inu proxies= þarf stillingar fyrir þá útgáfu.

Einn endapunktur

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)

Skiptu staðbundna hlustaranum út fyrir virkan HTTP-milliþjón. Valkostur af listanum yfir HTTP-milliþjóna þarf enn prófun við þinn áfangastað. HTTPS-mark getur notað þennan http://-endapunkt um CONNECT. Að breyta skemanu í https:// biður í staðinn um TLS til milliþjónsins sjálfs, sem bæði hlustari og biðlari verða að styðja.

Aðskildar leiðir eftir skema áfangastaðar

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)

Festilyklar samsvara markslóðum. HTTP-mörk velja hér tengi 8080 og HTTPS-mörk tengi 8081. Proxy-gildið lýsir eigin samskiptareglu hlustarans, svo HTTPS-festing getur réttilega innihaldið http://-milliþjón. Settu þína endapunkta inn og athugaðu bæði áfangaskemun.

Báðar uppskriftir setja trust_env=False á biðlarann og, þar sem þeir eru gefnir, á flutningana. Annars les HTTPX sjálfgefið umhverfisbreytur proxy og vottorða. Ef uppsetningin treystir á þær skaltu halda uppgötvun virkri eða stilla leiðir og traust sérstaklega. Notaðu TLS-samhengi og CA-stillingar sem HTTPX-útgáfan styður fyrir einkatraust; hafðu sannprófun áfangastaðar virka. Traust á HTTPS-milliþjóni getur verið aðskilið frá trausti á áfangastað.

httpx.Timeout(15.0, connect=5.0) yfirskrifar tengingartímamörkin og gefur öðrum stilltum tímamarkshlutum sjálfgefið gildi. Lestur, skrif og bið eftir tengingasafni hafa aðskilin mörk; fimmtán sekúndur eru ekki heildarfrestur raunverulegs liðins tíma. Safntímalok geta þýtt að önnur vinna haldi tiltækum tengingum. Lokaðu biðlurum og streymissvörum rétt áður en þú lítur á það sem sönnun þess að milliþjónninn sé óaðgengilegur.

Tengdir greinar