Twisted ProxyAgent: Basic удостоверяване за обикновен HTTP
Изпратете удостоверена обикновена HTTP заявка през Twisted ProxyAgent с байтови стойности в заглавките на заявката.
ProxyAgent се свързва през подадения му endpoint. За обикновена HTTP заявка и прокси, което приема Basic удостоверяване, поставете данните за вход на проксито в заглавката 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.