Kwa umbizo la IPv4 la mtoa proksi wa HTTP ip:port:user:password, badilisha sehemu kabla ya kutoa thamani kwa 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}

Mgawanyo wenye kikomo huhifadhi koloni zozote za ziada ndani ya nenosiri. Kuondoa tu miisho ya mistari pia huepusha kuondoa kwa utulivu nafasi ambazo zinaweza kuwa sehemu ya kitambulisho.

Simba jina la mtumiaji na nenosiri kama sehemu tofauti za URL. Alama @ katika nenosiri ghafi haipaswi kuchanganywa na kitenganishi kilicho mbele ya mwenyeji wa proksi. Kitendakazi hiki kinatarajia vitambulisho ghafi; kupitisha maandishi yaliyosimbwa tayari kunaweza kusimba tena alama ya asilimia.

Ramani inayorudishwa huchagua proksi hii kwa maeneo ya HTTP na HTTPS. Ufunguo kama http://192.0.2.10 una maana nyingine katika Requests: huchagua njia kwa mwenyeji huyo wa marudio. Si faharasa ya kundi la seva za proksi.

Kichanganuzi kinakubali kwa makusudi umbizo la IPv4 lililotajwa. Hakijumuishi majina ya mtumiaji yenye koloni au anwani za IPv6 zisizo na mabano; hizo zinahitaji umbizo la ingizo lisilo na utata. Weka URL zinazozalishwa zilizo na vitambulisho mbali na kumbukumbu za kawaida.

Makala zinazohusiana