Fir den IPv4-Format vun engem HTTP-Proxy-Provider ip:port:user:password, wandelt d'Felder ëm, ier Dir de Wäert un Requests gitt:

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}

Déi begrenzt Opdeelung behält all zousätzlech Doppelpunkten am Passwuert. Nëmmen d'Zeilenden ewechzehuelen verhënnert och, datt Espacen, déi zu enger Zougangsdate gehéieren, stëll ewechgeholl ginn.

Encodéiert de Benotzernumm an d'Passwuert als getrennte URL-Komponenten. En @ an engem rohe Passwuert däerf net mam Trennzeeche virum Proxy-Host verwiesselt ginn. Dës Funktioun erwaart roh Zougangsdaten; wann Dir schonn encodéierten Text gitt, kann d'Prozentzeechen nach emol encodéiert ginn.

Déi zréckginn Kaart wielt dësen Proxy fir HTTP- an HTTPS-Ziler. E Schlëssel wéi http://192.0.2.10 huet an Requests eng aner Bedeitung: hien wielt eng Route fir deen Zilhost. Et ass keen Index an engem Pool vu Proxy-Serveren.

De Parser akzeptéiert bewosst nëmmen de genannten IPv4-Format. Hien deckt keng Benotzernimm mat Doppelpunkten an och keng IPv6-Adressen ouni Klammern of; déi brauchen en ondäitegen Input-Format. Halt generéiert URLen mat Zougangsdaten aus normale Logbicher eraus.

Ähnlech Artikelen