Għall-format IPv4 tal-fornitur tal-proxy HTTP ip:port:user:password, ikkonverti l-oqsma qabel tagħti l-valur lil 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}

Il-qsim limitat iżomm kwalunkwe tikek doppji addizzjonali fil-password. It-tneħħija tat-truf tal-linji biss tevita wkoll it-tneħħija siekta tal-ispazji li jistgħu jkunu parti mill-kredenzjali.

Ikkodifika l-isem tal-utent u l-password bħala komponenti URL separati. Is-simbolu @ fil-password mhux maħduma m għandux jiġi konfuż mas-separatur qabel il-host tal-proxy. Din il-funzjoni tistenna kredenzjali mhux maħduma; jekk tgħaddi test diġà kkodifikat, is-sinjal tal-persentaġġ jista jiġi kkodifikat mill-ġdid.

Il-mappa rritornata tagħżel dan il-proxy għad-destinazzjonijiet HTTP u HTTPS. Ċavetta bħal http://192.0.2.10 għandha tifsira oħra f Requests: tagħżel rotta għal dak il-host tad-destinazzjoni. Mhijiex indiċi għal grupp ta servers proxy.

Il-parser jaċċetta b mod intenzjonat il-format IPv4 imsemmi. Ma jkoprix ismijiet tal-utent b tikek doppji jew indirizzi IPv6 mingħajr parentesi; dawk jeħtieġu format tal-input bla ambigwità. Żomm l-URLs iġġenerati li jġorru kredenzjali bogħod mil-logs rutinari.

Artikli relatati