ProxyAgent unga berilgan endpoint orqali ulanadi. Oddiy HTTP soʻrovi va Basic autentifikatsiyani qabul qiluvchi proxy uchun proxy loginini oʻsha soʻrovning Proxy-Authorization sarlavhasiga qoʻying.

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)

Bu parcha ilovada allaqachon oʻz reactor'i bor deb hisoblaydi. Metod, URI va misolda koʻrsatilgan sarlavha maʼlumotlari baytlardan foydalanadi. Haqiqiy hisob maʼlumotlarini ilovaning hisob maʼlumotlari manbasida saqlang; oʻrin egallovchi sarlavha qanday tuzilishini koʻrsatadi xolos. Base64 — kodlash, shuning uchun maxfiylik uni tashuvchi ulanishga bogʻliq.

Qaytarilgan Deferred javob obyektini beradi. Bu obyektni olish javob tanasini toʻplamaydi; uni hujjatlashtirilgan tana oʻqish interfeysi orqali oʻqing va asinxron xatolarni boshqaring. Endpoint taymauti ulanish oʻrnatilishini cheklaydi, javobning butun umrini emas.

Misol ataylab HTTP manzilini ishlatadi. Faqat URI sxemasini oʻzgartirish bilan u HTTPS uchun CONNECT muzokaralarini qoʻshmaydi.

O'xshash maqolalar