Kumokonekta ang ProxyAgent sa endpoint na ibinigay dito. Para sa karaniwang HTTP na kahilingan at proxy na tumatanggap ng Basic na pagpapatotoo, ilagay ang pag-login sa proxy sa header na Proxy-Authorization ng kahilingang iyon.

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)

Ipinapalagay ng bahaging ito na mayroon na ang aplikasyon ng sarili nitong reactor. Gumagamit ng byte ang method, URI at ang ipinakikitang data ng header. Itago ang tunay na kredensyal sa pinagmumulan ng kredensyal ng aplikasyon; ang placeholder ay nagpapakita lamang kung paano binubuo ang header. Ang Base64 ay isang encoding, kaya ang pagiging kompidensyal ay nakadepende sa koneksyong nagdadala nito.

Ang ibinalik na Deferred ay nagbibigay ng response object. Ang pagtanggap ng object na iyon ay hindi nangongolekta ng response body; basahin ito sa pamamagitan ng dokumentadong interface sa pagbasa ng body at pangasiwaan ang asynchronong pagkabigo. Nililimitahan ng timeout ng endpoint ang pagtatatag ng koneksyon, hindi ang buong buhay ng tugon.

Sinasadya ng halimbawa na gumamit ng destinasyong HTTP. Hindi ito nagdaragdag ng negosasyon ng CONNECT para sa HTTPS sa pamamagitan lamang ng pagpapalit ng scheme ng URI.

Kaugnay na mga artikulo