Carachtair speisialta i bhfocail fhaire seachfhreastalaí
Ionchódaigh ainm úsáideora agus focal faire an tseachfhreastalaí ar leithligh ionas nach mbrisfidh @, idirstadanna, slaiseanna ná # an URL.
Is féidir le focal faire ina bhfuil @ nó # URL seachfhreastalaí a tógadh de láimh a bhriseadh fiú má tá na dintiúir ceart. Tá brí leis na carachtair sin in URL cheana, agus d’fhéadfadh an cliant cuid den fhocal faire a léamh mar óstainm nó blúire.
Ionchódaigh an dá réimse dintiúr ar leithligh
Coinníonn an sampla seo deighilteoirí struchtúracha an URL slán agus ní ionchódaíonn sé ach an t-ainm úsáideora agus an focal faire:
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"
)
Úsáid do chríochphointe agus do dhintiúir iarbhír. Is sampla doiciméadachta é an seoladh a thaispeántar. Tá an argóint fholamh safe tábhachtach: fágann quote slaise gan éalú de ghnáth, ach caithfear slaise sa réimse dintiúr seo a ionchódú.
Ná hionchódaigh URL iomlán an tseachfhreastalaí. Má ionchódaítear deighilteoirí na scéime agus an @ idir na dintiúir agus an t-óstach, scriostar an struchtúr a bhí le caomhnú. Ná hionchódaigh focal faire atá ionchódaithe cheana an dara huair ach an oiread.
Úsáid an toradh le Requests
import requests
response = requests.get(
"https://example.com/",
proxies={"http": proxy_url, "https": proxy_url},
timeout=(5, 15),
)
response.raise_for_status()
Má theipeann ar an iarratas fós, seiceáil an bhfuil an seachfhreastalaí ag diúltú don logáil isteach nó ar theip ar an gcliant níos luaithe le linn parsála nó ceangail. Is teipeanna éagsúla iad dúshlán fíordheimhnithe 407 agus URL neamhbhailí.
Is féidir le HTTPX fíordheimhniú a choinneáil ar leithligh
Is féidir le hoibiacht Proxy de chuid HTTPX an críochphointe agus na dintiúir a ghlacadh mar argóintí ar leith:
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()
Seachnaíonn sé seo an gá an chuid userinfo a thógáil tú féin. Ní chriptíonn sé na dintiúir go neamhspleách ar an gceangal seachfhreastalaí ná ní roghnaíonn sé modh fíordheimhnithe a dtacaíonn gach seirbhís leis.
Mura dtugann liosta saor in aisce ach IP agus port, ní sholáthraíonn an sampla seo dintiúir réamhshocraithe. Úsáid fíordheimhniú ach amháin nuair a sholáthraíonn an t-oibreoir cuntas i ndáiríre. Ná cuir URLanna ina bhfuil dintiúir i logaí comhroinnte ná i gcomhaid foinse.