ProxyAgent jgħaqqad permezz tal-endpoint li jingħata lilu. Għal talba HTTP sempliċi u proxy li jaċċetta awtentikazzjoni bażika, poġġi l-login tal-proxy fil-header Proxy-Authorization ta' dik it-talba.

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)

Dan il-framment jassumi li l-applikazzjoni diġà għandha r-reactor tagħha. Il-metodu, l-URI u d-data tal-header murija jużaw bytes. Żomm il-kredenzjali reali fis-sors tal-kredenzjali tal-applikazzjoni; il-placeholder juri biss kif jinbena l-header. Base64 huwa kodifikazzjoni, għalhekk il-kunfidenzjalità tiddependi mill-konnessjoni li ġġorrha.

Id-Deferred li jintbagħat lura jagħti oġġett ta' risposta. Li tirċievi dak l-oġġett ma jiġborx il-ġisem tar-risposta; aqrah permezz tal-interface dokumentata tal-qari tal-ġisem u immaniġġja fallimenti asinkroniċi. It-timeout tal-endpoint jillimita l-istabbiliment tal-konnessjoni, mhux il-ħajja sħiħa tar-risposta.

L-eżempju juża intenzjonalment destinazzjoni HTTP. Ma jżidx negozjazzjoni CONNECT għal HTTPS sempliċement billi jinbidel l-iskema tal-URI.

Artikli relatati