ProxyAgent, kendisine verilen endpoint üzerinden bağlanır. Düz bir HTTP isteği ve Basic kimlik doğrulamayı kabul eden bir proxy için proxy oturum bilgisini isteğin Proxy-Authorization başlığına koyun.

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 parça, uygulamanın reactor'üne zaten sahip olduğunu varsayar. Yöntem, URI ve örnekte gösterilen başlık verileri bayt kullanır. Gerçek kimlik bilgilerini uygulamanın kimlik bilgisi kaynağında tutun; yer tutucu yalnızca başlığın nasıl kurulduğunu gösterir. Base64 bir kodlamadır, bu nedenle gizlilik onu taşıyan bağlantıya bağlıdır.

Döndürülen Deferred bir yanıt nesnesi verir. Bu nesneyi almak yanıt gövdesini toplamaz; belgelenmiş gövde okuma arayüzü üzerinden okuyun ve eşzamansız hataları ele alın. Endpoint'in zaman aşımı bağlantının kurulmasını sınırlar, yanıtın tüm ömrünü değil.

Örnek bilerek bir HTTP hedefi kullanır. Yalnızca URI şemasını değiştirerek HTTPS için CONNECT görüşmesi eklemez.

İlgili makaleler