Velja proxy-leiðir HTTPX með proxy og mounts
Notaðu proxy og flutningsfestingar HTTPX með réttu sniði, skýrri umhverfishegðun og aðskildum tengingar- og lesmörkum.
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.