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 хэлэлцээрийг нэмдэггүй.

Холбоотой нийтлэлүүд