Twisted ProxyAgent: основна автентикација за обичен HTTP
Испратете автентифицирано обично HTTP барање преку Twisted ProxyAgent со барани заглавја со бајтни вредности.
ProxyAgent се поврзува преку endpoint-от што му се дава. За обично HTTP барање и прокси што прифаќа основна автентикација, ставете ги податоците за најава на проксито во заглавјето Proxy-Authorization на тоа барање.
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)Овој фрагмент претпоставува дека апликацијата веќе го има својот reactor. Методот, URI-то и прикажаните податоци за заглавјето користат бајти. Чувајте ги вистинските ингеренции во изворот на ингеренции на апликацијата; заменувачот само покажува како се гради заглавјето. Base64 е кодирање, па доверливоста зависи од врската што го пренесува.
Вратениот Deferred дава објект за одговор. Примањето на тој објект не го собира телото на одговорот; прочитајте го преку документираниот интерфејс за читање тело и ракувајте со асинхрони грешки. Временското ограничување на endpoint-от го ограничува воспоставувањето на врската, не целиот животен век на одговорот.
Примерот намерно користи HTTP дестинација. Тој не додава CONNECT преговарање за HTTPS само со менување на шемата на URI-то.