පිවිසුම් තොරතුරු නිවැරදි වුවත් @ හෝ # අඩංගු මුරපදයකින් අතින් සෑදූ ප්‍රොක්සි URL බිඳිය හැක. මෙම අක්ෂරවලට URL තුළ දැනටමත් අර්ථ ඇති බැවින් ක්ලයන්ට් මුරපදයේ කොටසක් හෝස්ට් නාමය හෝ fragment ලෙස කියවිය හැක.

පිවිසුම් තොරතුරු ක්ෂේත්‍ර දෙක වෙන වෙනම encode කරන්න

මෙම උදාහරණය URL හි ව්‍යුහාත්මක වෙන්කිරීම් තබාගෙන පරිශීලක නාමය සහ මුරපදය පමණක් encode කරයි:

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"
)

ඔබේ සැබෑ අන්ත ලක්ෂ්‍යය සහ පිවිසුම් තොරතුරු භාවිත කරන්න. දැක්වූ ලිපිනය ලේඛන උදාහරණයකි. හිස් safe argument එක වැදගත්ය: quote සාමාන්‍යයෙන් ස්ලෑෂ් escape නොකර තබයි; නමුත් මෙම පිවිසුම් ක්ෂේත්‍රය තුළ ස්ලෑෂ් encode කළ යුතුය.

මුළු ප්‍රොක්සි URL එකම encode නොකරන්න. ස්කීම් වෙන්කිරීම් සහ පිවිසුම් තොරතුරු හා හෝස්ට් අතර @ encode කිරීම රැකීමට උත්සාහ කළ ව්‍යුහය බිඳ දමයි. දැනටමත් encode කළ මුරපදයක් දෙවරක් encode කිරීමද වළක්වන්න.

ප්‍රතිඵලය Requests සමඟ භාවිත කරන්න

import requests

response = requests.get(
    "https://example.com/",
    proxies={"http": proxy_url, "https": proxy_url},
    timeout=(5, 15),
)
response.raise_for_status()

ඉල්ලීම තවම අසාර්ථක නම් ප්‍රොක්සිය පිවිසුම ප්‍රතික්ෂේප කරන්නේද, නැත්නම් ක්ලයන්ට් ඊට පෙර parsing හෝ සම්බන්ධතාවේදී අසාර්ථක වූයේද බලන්න. 407 සත්‍යාපන අභියෝගයක් සහ වලංගු නොවන URL එකක් වෙනස් දෝෂ වේ.

HTTPX හට සත්‍යාපනය වෙන් කළ හැක

HTTPX Proxy වස්තුවට අන්ත ලක්ෂ්‍යය සහ පිවිසුම් තොරතුරු වෙනම arguments ලෙස ගත හැක:

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()

එවිට userinfo කොටස ඔබම සෑදීමට අවශ්‍ය නැත. එය පිවිසුම් තොරතුරු ප්‍රොක්සි සම්බන්ධතාවෙන් වෙන්ව ගුප්තකේතනය නොකරයි; සියලු සේවා සහාය දෙන සත්‍යාපන ක්‍රමයක් තෝරාද නොදෙයි.

නොමිලේ ලැයිස්තුව IP සහ පෝට් පමණක් දෙන්නේ නම් මෙම උදාහරණය පෙරනිමි පිවිසුම් තොරතුරු නොදෙයි. ක්‍රියාකරු ඇත්තටම ගිණුමක් සපයන විට පමණක් සත්‍යාපනය භාවිත කරන්න. පිවිසුම් තොරතුරු සහිත URL පොදු ලොග් හා මූලාශ්‍ර ගොනුවල නොතබන්න.

අදාළ ලිපි