Twisted ProxyAgent: жөнөкөй HTTP үчүн Basic аутентификация
Байт маанилери бар суроо аталыштары менен Twisted ProxyAgent аркылуу аутентификацияланган жөнөкөй HTTP суроосун жөнөтүңүз.
ProxyAgent өзүнө берилген endpoint аркылуу туташат. Жөнөкөй HTTP суроосу жана Basic аутентификацияны кабыл алган proxy үчүн proxy кирүүсүн ошол суроонун 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 багытын колдонот. Ал URI схемасын гана өзгөртүү менен HTTPS үчүн CONNECT сүйлөшүүсүн кошпойт.