Umvæv IPv4 ip:port:user:password-førslur til Requests
Greina ip:port:user:password við avmarkaðari býtíng og kota váttanarpartarnar, áðrenn proxy-kortið verður gjørt.
Fyri IPv4-sniðið hjá einum HTTP-proxyveitara ip:port:user:password skal tú umvæva teigirnar, áðrenn tú letur Requests fáa virðið:
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}
Hin avmarkaða býtíng varðveitir allar eyka tvípunktur inni í loyniorðinum. At flyta bert linjuendar forðar eisini fyri at taka fjaldliga burt hvítar pláss, sum kunnu hoyra til eina váttan.
Kota brúkaranavn og loyniorð sum hvør sín URL-part. Eitt @ í einum ráum loyniorði má ikki mistakast fyri skiljumerkið framman fyri proxy-vertin. Henda funkið væntar ráar váttanir; um tú letur tekst, sum longu er kodadur, kann prosent-teknið verða kodad aftur.
Kortið, sum verður latið aftur, velur henda proxy fyri HTTP- og HTTPS-mál. Ein lykil sum http://192.0.2.10 merkir nakað annað í Requests: hann velur eina leið fyri henda mál-vertin. Hann er ikki eitt vísital í ein flokk av proxyservarum.
Greinarin góðtekur við vilja bert tað nevnda IPv4-sniðið. Tað fevnir ikki um brúkaranøvn við tvípunktum ella IPv6-adressur uttan klombur; tær tørva eitt ótvískilt innskrivingarsnið. Halt framleiddar URL'ir við váttanum uttan fyri vanligar loggar.