HTTP proxy hornitzaile baten IPv4 formaturako ip:port:user:password, bihurtu eremuak balioa Requestseri eman aurretik:

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}

Zatitze mugatuak pasahitzaren barruko bi puntu gehigarriak gordetzen ditu. Lerro-amaierak soilik kentzeak kredentzial bati pertenitu ahal zaizkion zuriuneak isilpean kentzea ere saihesten du.

Kodeatu erabiltzaile-izena eta pasahitza URL osagai bereizi gisa. Pasahitz gordinean dagoen @ ez da proxy ostalariaren aurreko bereizlearekin nahastu behar. Funtzio honek kredentzial gordinak espero ditu; jadanik kodeatutako testua pasatzen baduzu, ehuneko ikurra berriro kodeatu daiteke.

Itzulitako mapak proxy hau hautatzen du HTTP eta HTTPS helmugatarako. http://192.0.2.10 bezalako gako batek beste esanahi bat du Requestsen: helmuga ostalari horretarako bide bat hautatzen du. Ez da proxy zerbitzarien multzo baterako indizea.

Analizatzaileak berariaz onartzen du adierazitako IPv4 formatua soilik. Ez ditu bi puntuak dituzten erabiltzaile-izenak ezta parentesirik gabeko IPv6 helbideak estaltzen; horiek sarrera-format argia behar dute. Eduki ezazu kredentzialak dituzten sortutako URLak ohiko erregistroetatik kanpo.

Erlazionatutako artikuluak