Sertekin í proxyloyniorðum
Koda proxybrúkaranavn og loyniorð hvør sær, so @, kolon, skrástrikur og # ikki oyðileggja URL’ina.
Eitt loyniorð við @ ella # kann oyðileggja eina handbygda proxy-URL, hóast innritingarupplýsingarnar eru rættar. Hesi tekin hava longu týdning í eini URL, so klienturin kann tulka part av loyniorðinum sum vertsnavn ella brot.
Koda tey bæði innritingarøkini hvør sær
Hetta dømið varðveitir bygnaðarskiljiteknini í URL’ini og kodar bert brúkaranavn og loyniorð:
from urllib.parse import quote
username = "user@team"
password = "p:a/ss#?"
proxy_url = (
"http://"
+ quote(username, safe="")
+ ":"
+ quote(password, safe="")
+ "@203.0.113.10:8080"
)
Brúka títt veruliga endapunkt og tínar innritingarupplýsingar. Vísti adressan er eitt dokumentatiónsdømi. Tóma safe-argumentið er týdningarmikið: quote letur vanliga eina skrástriku standa óbroytta, men í hesum innritingarøkinum skal hon kodast.
Koda ikki alla proxy-URL’ina. At koda skiljiteknini í skemanum og @ millum innritingarupplýsingar og vert oyðileggur bygnaðin, tú vildi varðveita. Lat eisini vera við at koda eitt longu kodað loyniorð eina ferð afturat.
Brúka úrslitið við Requests
import requests
response = requests.get(
"https://example.com/",
proxies={"http": proxy_url, "https": proxy_url},
timeout=(5, 15),
)
response.raise_for_status()
Um fyrispurningurin framvegis miseydnast, kanna um proxyin noktar innritingini, ella um klienturin miseydnaðist fyrr undir tulking ella sambandi. Ein 407-avbjóðing til samleikaváttan og ein ógild URL eru ymisk brek.
HTTPX kann halda samleikaváttan skilda
Ein HTTPX Proxy-lutur kann taka endapunkt og innritingarupplýsingar sum skild argument:
import httpx
proxy = httpx.Proxy(
"http://203.0.113.10:8080",
auth=("user@team", "p:a/ss#?"),
)
with httpx.Client(proxy=proxy, trust_env=False, timeout=15) as client:
response = client.get("https://example.com/")
response.raise_for_status()
Hetta sleppur undan at byggja userinfo-partin sjálvur. Tað bronglar ikki innritingarupplýsingarnar óheft av proxysambandinum og velur ikki ein hátt til samleikaváttan, sum allar tænastur stuðla.
Um ein ókeypis listi bert gevur IP og portur, gevur hetta dømið ikki sjálvvaldar innritingarupplýsingar. Brúka bert samleikaváttan, tá ið veitari veruliga gevur eina konto. Halt URL’ir við innritingarupplýsingum burtur úr felags loggum og keldufílum.