Requests සඳහා IPv4 ip:port:user:password සටහන් පරිවර්තනය කරන්න
ip:port:user:password සීමිත වෙන් කිරීමකින් විග්රහ කර, ප්රොක්සි සිතියම ගොඩනැගීමට පෙර අක්තපත්ර සංරචක කේතනය කරන්න.
HTTP ප්රොක්සි සපයන්නාගේ IPv4 ආකෘතිය ip:port:user:password නම්, අගය Requests වෙත ලබා දීමට පෙර ක්ෂේත්ර පරිවර්තනය කරන්න:
from ipaddress import IPv4Address
from urllib.parse import quote
def proxy_map(line):
host, port, user, password = line.rstrip('\r\n').split(':', 3)
host = str(IPv4Address(host))
port = int(port)
if not 1 <= port <= 65535:
raise ValueError('Proxy port is out of range')
credentials = quote(user, safe='') + ':' + quote(password, safe='')
url = f'http://{credentials}@{host}:{port}'
return {'http': url, 'https': url}
සීමිත වෙන් කිරීම මුරපදය තුළ ඇති අමතර කෝලන් රඳවා ගනී. පේළි අන්ත පමණක් ඉවත් කිරීම, අක්තපත්රයකට අයත් විය හැකි හිස් අවකාශ නිහඬව ඉවත් වීමද වළක්වයි.
පරිශීලක නාමය සහ මුරපදය වෙන වෙනම URL සංරචක ලෙස කේතනය කරන්න. අමු මුරපදයක ඇති @ ලකුණ ප්රොක්සි සත්කාරකයට පෙර ඇති වෙන් කරන්නා සමඟ පටලවා නොගත යුතුය. මෙම ශ්රිතය අමු අක්තපත්ර අපේක්ෂා කරයි; දැනටමත් කේතනය කළ පෙළ ලබා දීමෙන් සියයට ලකුණ නැවත කේතනය විය හැක.
ආපසු දෙන සිතියම HTTP සහ HTTPS ගමනාන්ත සඳහා මෙම ප්රොක්සිය තෝරයි. http://192.0.2.10 වැනි යතුරකට Requests තුළ වෙනත් අර්ථයක් ඇත: එය එම ගමනාන්ත සත්කාරකය සඳහා මාර්ගයක් තෝරයි. එය ප්රොක්සි සේවාදායක සමූහයක දර්ශකයක් නොවේ.
විග්රාහකය දක්වා ඇති IPv4 ආකෘතිය හිතාමතාම පිළිගනී. එය කෝලන් සහිත පරිශීලක නාම හෝ වරහන් රහිත IPv6 ලිපින ආවරණය නොකරයි; ඒවාට අපැහැදිලි නොවන ආදාන ආකෘතියක් අවශ්යයි. ජනනය කළ අක්තපත්ර සහිත URL සාමාන්ය ලොගවලින් ඈත් කර තබන්න.