http://proxy.example:8080 bezalako proxy balio arrunta URL bat da. Twisteden clientFromString-ek amaierako puntuaren deskribapena onartzen du, adibidez tcp:host=proxy.example:port=8080. Bi kateek erlazionatutako informazioa gramatika ezberdinekin deskribatzen dute.

Aplikazioak HTTP proxy URL arrunta onartzen badu, zatitu ezazu amaierako puntua sortu aurretik:

import os
from urllib.parse import urlsplit
from twisted.internet.endpoints import HostnameEndpoint
from twisted.web.client import ProxyAgent

proxy = urlsplit(os.environ['http_proxy'])
if proxy.scheme != 'http' or not proxy.hostname:
    raise ValueError('Expected an HTTP proxy URL')
port = proxy.port if proxy.port is not None else 80
endpoint = HostnameEndpoint(reactor, proxy.hostname, port, timeout=5)
agent = ProxyAgent(endpoint, reactor=reactor)

Pasarteak aplikazioak bere reactor-a baduela suposatzen du. Zehaztu proxyaren benetako portua konfigurazioan, HTTP URLaren lehenetsia ez denean. HTTP proxy zerrendak amaierako puntu hautagaiak eskaintzen ditu proxy konturik gabeko HTTP eskaera publiko baimendu baterako. HostnameEndpoint-ek ostalariaren izena bi puntuz bereizitako beste konfigurazio kate batean txertatzea ere saihesten du.

Honek bideratze-sarrera soilik bihurtzen du. URL batean txertatutako kredentzialak ez dira autorizazio-goiburu bihurtzen ostalaria eta portua zatitu direlako bakarrik. Eman behar den proxy autentifikazio onartua eskaeraren autentifikazio-antolaketaren bidez. HTTP helmuga soil baterako eta Basic eskaintzen duen bitartekari baterako, ProxyAgenten Basic eskaera-goiburuek halako antolaketa bat eskaintzen dute.

HTTPS proxy URL batek TLS gaitasuna duen konexioa behar du proxyarekin. SOCKS URL batek SOCKS negoziazioa behar du. Biak ez dira inplementatzen eskema horiek HTTP ProxyAgent amaierako puntu bihurketa soil batera bidaliz.

Erlazionatutako artikuluak