In proxy-IP brûke mei urllib3
Kies ProxyManager foar in HTTP-proxy, besjoch urllib3-antwurdfjilden en tink oan werhellingen en de aparte SOCKS-manager.
Brûk foar in lytse urllib3-proxydiagnoaze ProxyManager mei werhellingen útskeakele. Sa sjochst de earste poging ynstee fan langer in net mear wurkjende fermelding te besykjen. Yn in troch uv beheard projekt:
uv add urllib3Ferfang it dokumintaasje-einpunt troch in HTTP-proxy fan dyn tsjinst of út de list mei HTTP-proxy’s en fier it fersyk fia dy manager út:
import urllib3
proxy = urllib3.ProxyManager(
"http://203.0.113.10:8080",
timeout=urllib3.Timeout(connect=5, read=10),
retries=False,
)
try:
response = proxy.request("GET", "https://example.com/")
print(response.status)
print(response.data.decode("utf-8", errors="replace")[:200])
finally:
proxy.clear()
Lês earst response.status en besjoch dêrnei response.data. Dit binne urllib3-fjilden; de Requests-fjilden status_code en text binne gjin ferfangers. In wegering fan de webside kin fia in wurkjende proxy komme. In útsûndering foar in antwurd jout krekt oan dat it fersyk net foltôge wurde koe.
retries=False is in diagnostyske kar, gjin werhellingsbelied foar produksje. De ferbiningsynstelling fan 5 sekonden en lêsynstelling fan 10 sekonden beheine har eigen fazen; se foarmje gjin garandearre totale deadline fan 15 sekonden. DNS en de foarútgong fan it antwurd kinne de totale wachttiid beynfloedzje.
It foarbyld laadt de ynhâld foarôf en makket de ferbiningspools oan de ein leech. Bewarje by werhelle fersiken fia itselde einpunt dy manager oant it wurk klear is, sadat ferbiningen wer brûkt wurde kinne. Oerskeakeljen nei preload_content=False feroaret de libbenssyklus: de oanropper moat it streamde antwurd lêze en frijjaan.
Kies de manager dy't by de harkjende tsjinst past. In gewoane PoolManager begjint gjin proxy te brûken om't earne oars in URL bewarre is; SOCKS brûkt urllib3.contrib.socks.SOCKSProxyManager en syn opsjonele ôfhinklikheden. De koade hjirboppe folget it HTTP-ProxyManager-paad.