Ein vanligur proxy-virði sum http://proxy.example:8080 er ein URL. clientFromString hjá Twisted tekur ímóti eini endpoint-lýsing, sum tcp:host=proxy.example:port=8080. Báðir strengirnir lýsa skyldum upplýsingum við ymiskum mállærum.

Um applikasjónin tekur ímóti einum vanligum HTTP-proxy URL, greid hann frá áðrenn endpointið verður gjørt:

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)

Brotini gongur út frá, at applikasjónin longu hevur sín reactor. Greid frá veruliga proxy-portinum í uppsetningini, tá ið hann ikki er standardurin hjá HTTP-URL-inum. HTTP-proxy listin bjóðar endpoint-evni til eina loyvda almenna HTTP-fyrispurning uttan proxy-konto. HostnameEndpoint forðar eisini at seta vertsnavnið inn í annan kolon-skiltan uppsetningarstreng.

Hetta umbýtur bert routing-innslagið. Skilríki, sum eru sett inn í ein URL, verða ikki ein autorisatións-høvd bara tí, at vertur og port vórðu greidd frá. Veit hvørja kravda stuðlaða proxy-autentisering gjøgnum autentiserings-skipanina hjá fyrispurninginum. Til eitt einfalt HTTP-mál og ein millumlið, sum bjóðar Basic, veita Basic-fyrispurningshøvdini hjá ProxyAgent eina slíka skipan.

Ein HTTPS-proxy URL krevur eina TLS-førga samband til proxyið. Ein SOCKS-URL krevur SOCKS-samráðing. Hvørki verður gjørt við at senda hesi skemini inn í eina einfalda HTTP-ProxyAgent-endpoint-umbýting.

Skyldar greinar