ProxyAgent sa pripája cez endpoint, ktorý mu odovzdáte. Pri obyčajnej HTTP požiadavke a proxy, ktorá prijíma základné overenie, vložte prihlasovacie údaje proxy do hlavičky Proxy-Authorization danej požiadavky.

import base64
from twisted.internet.endpoints import TCP4ClientEndpoint
from twisted.web.client import ProxyAgent
from twisted.web.http_headers import Headers

endpoint = TCP4ClientEndpoint(reactor, 'proxy.example', 8080,
                              timeout=5)
agent = ProxyAgent(endpoint, reactor=reactor)
token = base64.b64encode(b'alice:REPLACE_WITH_PROXY_PASSWORD')
headers = Headers({b'Proxy-Authorization': [b'Basic ' + token]})
pending = agent.request(b'GET', b'http://example.com/', headers)

Tento úryvok predpokladá, že aplikácia už má svoj reactor. Metóda, URI aj uvedené údaje hlavičky používajú bajty. Skutočné prihlasovacie údaje uchovávajte v zdroji údajov aplikácie; zástupný text len ukazuje, ako sa hlavička zostavuje. Base64 je kódovanie, takže dôvernosť závisí od spojenia, ktoré ho prenáša.

Vrátený Deferred poskytne objekt odpovede. Prijatie tohto objektu ešte nenačíta telo odpovede; prečítajte ho cez dokumentované rozhranie na čítanie tela a ošetrite asynchrónne zlyhania. Časový limit endpointu obmedzuje nadviazanie spojenia, nie celú životnosť odpovede.

Príklad zámerne používa HTTP cieľ. Nepridáva vyjednávanie CONNECT pre HTTPS len zmenou schémy URI.

Súvisiace články