ProxyAgent se povezuje kroz endpoint koji mu se preda. Za obični HTTP zahtjev i proxy koji prihvaća osnovnu autentifikaciju, stavite prijavu na proxy u zaglavlje Proxy-Authorization tog zahtjeva.

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)

Ovaj isječak pretpostavlja da aplikacija već ima svoj reactor. Metoda, URI i prikazani podaci zaglavlja koriste bajtove. Čuvajte stvarne vjerodajnice u izvoru vjerodajnica aplikacije; zamjenski tekst samo pokazuje kako se zaglavlje gradi. Base64 je kodiranje, pa povjerljivost ovisi o vezi koja ga prenosi.

Vraćeni Deferred daje objekt odgovora. Primanje tog objekta ne prikuplja tijelo odgovora; pročitajte ga kroz dokumentirano sučelje za čitanje tijela i obrađujte asinkrone pogreške. Vremensko ograničenje endpointa ograničava uspostavu veze, a ne cijeli životni vijek odgovora.

Primjer namjerno koristi HTTP odredište. Ne dodaje CONNECT pregovaranje za HTTPS samo promjenom sheme URI-ja.

Povezani članci