Herufi Maalumu katika Nywila za Proksi
Simba jina la mtumiaji na nywila ya proksi kila moja kando ili @, koloni, mistari ya mkwaju na # zisiharibu URL.
Nywila yenye @ au # inaweza kuharibu URL ya proksi iliyotengenezwa kwa mkono hata kama taarifa za kuingia ni sahihi. Herufi hizo tayari zina maana katika URL, hivyo mteja anaweza kutafsiri sehemu ya nywila kama jina la mwenyeji au fragment.
Simba sehemu mbili za taarifa za kuingia kando
Mfano huu huhifadhi vitenganishi vya muundo wa URL na husimba jina la mtumiaji na nywila pekee:
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"
)
Tumia sehemu yako halisi ya mwisho na taarifa zako za kuingia. Anwani iliyoonyeshwa ni mfano wa nyaraka. Hoja safe iliyo tupu ni muhimu: quote kawaida huacha mkwaju bila escape, lakini mkwaju ndani ya sehemu hii ya taarifa za kuingia lazima usimbwe.
Usisimbe URL nzima ya proksi. Kusimba vitenganishi vya skimu na @ kati ya taarifa za kuingia na mwenyeji huharibu muundo uliotaka kuhifadhi. Pia epuka kusimba tena nywila ambayo tayari imesimbwa.
Tumia matokeo na Requests
import requests
response = requests.get(
"https://example.com/",
proxies={"http": proxy_url, "https": proxy_url},
timeout=(5, 15),
)
response.raise_for_status()
Ikiwa ombi bado linashindwa, kagua kama proksi inakataa kuingia au mteja alishindwa mapema wakati wa kuchanganua au kuunganisha. Changamoto ya uthibitishaji ya 407 na URL isiyo halali ni hitilafu tofauti.
HTTPX inaweza kutenganisha uthibitishaji
Objekti ya Proxy ya HTTPX inaweza kupokea sehemu ya mwisho na taarifa za kuingia kama hoja tofauti:
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()
Hii huondoa haja ya kutengeneza sehemu ya userinfo mwenyewe. Haisimbi taarifa za kuingia kwa usimbaji fiche ulio huru na muunganisho wa proksi, wala haichagui njia ya uthibitishaji inayoungwa mkono na kila huduma.
Ikiwa orodha ya bure inatoa IP na porti pekee, mfano huu hautoi taarifa chaguomsingi za kuingia. Tumia uthibitishaji tu pale ambapo mwendeshaji anatoa akaunti kweli. Usiweke URL zenye taarifa za kuingia kwenye kumbukumbu za pamoja au faili za msimbo chanzo.