Tha luach progsaidh àbhaisteach mar http://proxy.example:8080 na URL. Gabhaidh clientFromString Twisted ri tuairisgeul endpoint, mar tcp:host=proxy.example:port=8080. Tha an dà shreang a' toirt cunntas air fiosrachadh co-cheangailte le gràmair eadar-dhealaichte.

Ma ghabhas an aplacaid ri URL progsaidh HTTP àbhaisteach, mion-sgrùd e mus cruthaich thu an t-endpoint:

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)

Tha am pìos a' gabhail ris gu bheil an reactor aig an aplacaid mu thràth. Sònraich fìor phort a' phrogsaidh san rèiteachadh nuair nach e ro-ghnàth an URL HTTP a th' ann. Tha liosta progsaidh HTTP a' tabhann tagraichean endpoint airson iarrtas HTTP poblach ceadaichte gun chunntas progsaidh. Bidh HostnameEndpoint cuideachd a' seachnadh ainm an òstair a chur a-steach do shreang rèiteachaidh eile a tha air a sgaradh le còilean.

Chan eil seo ag atharrachadh ach an cuir-a-steach sligheachaidh. Cha bhith teisteasan a tha freumhaichte ann an URL gu bhith nan ceann-litir ùghdarrachaidh dìreach air sgàth 's gun deach an t-òstair agus am port a mhion-sgrùdadh. Thoir seachad fìordhearbhadh progsaidh taice sam bith a tha a dhìth tro rèiteachadh dearbhaidh an iarrtais. Airson ceann-uidhe HTTP lom agus eadar-mheadhanair a tha a' tabhann Basic, tha cinn-litir iarrtais Basic aig ProxyAgent a' toirt seachad aon rèiteachadh den t-seòrsa sin.

Feumaidh URL progsaidh HTTPS ceangal a tha comasach air TLS chun a' phrogsaidh. Feumaidh URL SOCKS co-rèiteachadh SOCKS. Chan eil an dàrna cuid air a chur an gnìomh le bhith a' cur nan sgeamaichean sin a-steach do thionndadh endpoint HTTP ProxyAgent lom.

Artaigilean co-cheangailte