Kies HTTPX-proxyroetes met proxy en mounts
Gebruik HTTPX proxy en vervoermonterings met die regte eindpuntskema, uitdruklike omgewingsgedrag en aparte verbindings- en leesgrense.
Gebruik proxy= wanneer een eindpunt die kliënt se versoeke moet hanteer. Gebruik mounts= wanneer bestemmingskemas verskillende roetes nodig het. Die voorbeelde gebruik dié HTTPX-koppelvlakke; ’n projek met die ouer proxies=-API benodig opstelling vir daardie weergawe.
Een eindpunt
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)
Vervang die plaaslike luisterpunt met ’n lopende HTTP-proxy. ’n Kandidaat uit die HTTP-instaanbedienerlys moet steeds teen jou bestemming getoets word. ’n HTTPS-teiken kan hierdie http://-eindpunt deur CONNECT gebruik. Die skema na https:// verander vra eerder TLS na die proxy self, wat luisterpunt en kliënt albei moet ondersteun.
Aparte roetes volgens bestemmingskema
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)
Monteringsleutels pas op teiken-URL’s. HTTP-teikens kies hier poort 8080; HTTPS-teikens poort 8081. Die proxywaarde beskryf die luisterpunt se eie protokol, dus kan die HTTPS-montering tereg ’n http://-proxy bevat. Vul jou eindpunte in en kontroleer albei bestemmingskemas.
Albei resepte stel trust_env=False op die kliënt en, waar verskaf, op die vervoerlae. Anders lees HTTPX by verstek proxy- en sertifikaatomgewingsveranderlikes. As jou ontplooiing daarvan afhanklik is, hou ontdekking aan of stel die nodige roetes en vertroue uitdruklik op. Gebruik die TLS-konteks en CA-opstelling van jou HTTPX-weergawe vir private vertroue; hou bestemmingsverifikasie aan. HTTPS-proxyvertroue kan apart van bestemmingsvertroue wees.
httpx.Timeout(15.0, connect=5.0) vervang die verbindingstydlimiet en gee die ander ingestelde komponente die verstekwaarde. Lees, skryf en poelwag het aparte grense; vyftien sekondes is nie ’n totale sperdatum vir verstreke tyd nie. ’n Poeltydverstryking kan beteken dat ander werk beskikbare verbindings vashou. Sluit kliënte en stroomantwoorde korrek voordat jy dit as bewys van ’n onbereikbare proxy beskou.