ProxyAgent yhdistää sen kautta annettuun endpointiin. Tavallisessa HTTP-pyynnössä ja Basic-todennuksen hyväksyvässä proxyssä proxy-kirjautuminen laitetaan pyynnön Proxy-Authorization-otsikkoon.

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)

Tämä katkelma olettaa, että sovelluksella on jo oma reactor. Metodi, URI ja kuvatut otsikkotiedot käyttävät tavuja. Pidä todelliset tunnistetiedot sovelluksen tunnistetietolähteessä; paikkamerkki näyttää vain, miten otsikko rakennetaan. Base64 on koodaus, joten luottamuksellisuus riippuu yhteydestä, joka sen kuljettaa.

Palautettu Deferred antaa vastausobjektin. Objektin vastaanottaminen ei kerää vastauksen runkoa; lue se dokumentoidun rungonlukurajapinnan kautta ja käsittele asynkroniset virheet. Endpointin aikakatkaisu rajaa yhteyden muodostusta, ei vastauksen koko elinkaarta.

Esimerkki käyttää tarkoituksella HTTP-kohdetta. Se ei lisää CONNECT-neuvottelua HTTPS:lle pelkästään URI-kaavan vaihtamisella.

Aiheeseen liittyvät artikkelit