Jou ProxyHandler in lege mapping as ien urllib-opener direkt ferbine moat:

from urllib.request import ProxyHandler, build_opener

direct = build_opener(ProxyHandler({}))

with direct.open("https://example.com/", timeout=10) as response:
    print(response.status)

It lege wurdboek jout gjin proxyrûtes. As de mapping weilitten wurdt, fynt de handler ynstee proxy's út syn omjouwing en de platfoarmynstellingen. Dizze twa konstruksjes drukke ferskillende beliedsregels út.

It foarbyld brûkt de standertbiblioteek fan Python en behâldt normale HTTPS-ferifikaasje. It with-blok slút it antwurd, ek as in útsûndering it blok ferlit.

Direkte fersiken en fersiken fia in proxy yn deselde applikaasje

Twa openers kinne de twa beliedsregels drage sûnder omjouwingsfariabelen tusken oanroppen te feroarjen:

from urllib.request import ProxyHandler, build_opener

direct = build_opener(ProxyHandler({}))
proxied = build_opener(ProxyHandler({
    "http": "http://127.0.0.1:8080",
    "https": "http://127.0.0.1:8080",
}))

with proxied.open("https://example.com/", timeout=10) as response:
    print(response.status)

Ferfang it loopback-adres troch dyn HTTP-proxy, of kies in kandidaat út de list mei HTTP-proxy’s foar de ferliking fia in proxy. Dy kin de ferbining nei it HTTPS-doel fia CONNECT liede as de tsjinst dat tastiet. It protokol en de autentikaasjestipe fan it lústerpunt moatte by de handler passe.

Lit de standertopener gewurde

Rop direct.open of proxied.open oan fia it objekt dat foar de rûte ferantwurdlik is. install_opener feroaret de prosesbrede standert dy't de gemaksoanroppen fan urllib brûke; in biblioteek dy't dat brûkt, kin dêrom ûnrelatearre koade beynfloedzje. It is ûnnedich foar de ôfsûndere opener hjirboppe.

It argumint timeout is in ynstelling foar in operaasje, net in folsleine limyt fan de echt ferrûne tiid foar elke oerdracht. Lês allinnich de nedige gegevens en brûk in termyn op heger nivo as de taak in strang totaal tiidbudzjet hat.

Dizze opener-objekten feroarje gjin kliïnt fan in oare biblioteek, in besteand proses of de proxyynstellingen fan in browser.

Relatearre artikelen