Dewis llwybrau dirprwy HTTPX gyda proxy a mounts
Defnyddiwch proxy a mowntiau trafnidiaeth HTTPX gyda’r cynllun cywir, ymddygiad amgylchedd clir a therfynau cysylltu a darllen ar wahân.
Defnyddiwch proxy= pan ddylai un pwynt terfyn drin ceisiadau’r cleient. Defnyddiwch mounts= pan fo angen llwybrau gwahanol ar gynlluniau’r gyrchfan. Mae’r enghreifftiau’n defnyddio’r rhyngwynebau HTTPX hyn; mae angen gosodiadau sy’n cyfateb i’r fersiwn ar brosiect gyda’r API hŷn proxies=.
Un pwynt terfyn
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)
Rhowch ddirprwy HTTP gweithredol yn lle’r gwrandäwr lleol. Mae angen profi ymgeisydd o’r rhestr dirprwyon HTTP yn erbyn eich cyrchfan o hyd. Gall targed HTTPS ddefnyddio’r pwynt http:// hwn drwy CONNECT. Mae newid y cynllun i https:// yn gofyn am TLS i’r dirprwy ei hun, ac mae angen cymorth y gwrandäwr a’r cleient.
Llwybrau ar wahân yn ôl cynllun y gyrchfan
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)
Mae allweddi’r mowntiau’n cyfateb i URLau’r targed. Mae targedau HTTP yn dewis porth 8080 yma, a HTTPS porth 8081. Mae gwerth y dirprwy’n disgrifio protocol y gwrandäwr ei hun, felly gall mownt HTTPS gynnwys dirprwy http:// yn gywir. Rhowch eich pwyntiau terfyn a gwiriwch y ddau gynllun cyrchfan.
Mae’r ddwy rysáit yn gosod trust_env=False ar y cleient ac, os cânt eu darparu, ar y trafnidiaethau. Fel arall mae HTTPX yn darllen newidynnau amgylchedd dirprwy a thystysgrif yn ddiofyn. Os yw’r defnydd yn dibynnu arnynt, cadwch ganfod ymlaen neu ffurfweddwch lwybrau ac ymddiriedaeth yn benodol. Ar gyfer ymddiriedaeth breifat, defnyddiwch gyd-destun TLS a gosodiadau CA eich fersiwn HTTPX; cadwch ddilysu’r gyrchfan ymlaen. Gall ymddiriedaeth y dirprwy HTTPS fod ar wahân i ymddiriedaeth y gyrchfan.
Mae httpx.Timeout(15.0, connect=5.0) yn diystyru’r amser cysylltu ac yn rhoi’r gwerth diofyn i’r cydrannau eraill a ffurfweddwyd. Mae gan ddarllen, ysgrifennu ac aros am y pwll derfynau ar wahân; nid yw pymtheg eiliad yn derfyn ar yr holl amser sydd wedi mynd heibio. Gall terfyn amser y pwll olygu bod gwaith arall yn dal y cysylltiadau sydd ar gael. Caewch gleientiaid ac ymatebion ffrydio’n gywir cyn ei ystyried yn dystiolaeth nad oes modd cyrraedd y dirprwy.