Fyrir IPv4-snið HTTP-proxyveitanda ip:port:user:password skaltu umbreyta reitunum áður en gildinu er komið til 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}

Takmörkuð sundurgreining varðveitir öll viðbótartvípunktur inni í lykilorðinu. Að fjarlægja aðeins línuendur kemur einnig í veg fyrir að bil sem gætu tilheyrt auðkenni séu fjarlægð hijóðlega.

Kóðaðu notandanafnið og lykilorðið sem aðskilda URL-þætti. Ekki má rugla @ í hráu lykilorði við aðskilnaðarmerkið fyrir framan proxy-þjóninn. Þessi aðgerð gerir ráð fyrir hráum auðkennum; ef þú sendir þegar kóðaðan texta getur prósentumerkið kóðast aftur.

Kortið sem skilað er velur þennan proxy fyrir HTTP- og HTTPS-áfangastaði. Lykill eins og http://192.0.2.10 hefur aðra merkingu í Requests: hann velur leið fyrir þann áfangastað. Þetta er ekki vísitala í safn proxy-þjóna.

Greinandinn samþykkir viljandi aðeins tilgreint IPv4-snið. Hann nær ekki yfir notandanöfn með tvípunktum né IPv6-vistföng án sviga; þau þurfa ótvírætt inntakssnið. Haltu búnum URL-slóðum með auðkennum utan venjubundinna skráa.

Tengdir greinar