ProxyAgent özünə verilən endpoint vasitəsilə qoşulur. Adi HTTP sorğusu və Basic autentifikasiyanı qəbul edən proxy üçün proxy girişini həmin sorğunun Proxy-Authorization başlığına qoyun.

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 fraqment tətbiqin artıq öz reactoruna sahib olduğunu fərz edir. Metod, URI və nümunədə göstərilən başlıq məlumatları baytlardan istifadə edir. Həqiqi etimad məlumatlarını tətbiqin etimad mənbəyində saxlayın; yer tutucu yalnız başlığın necə qurulduğunu göstərir. Base64 bir kodlaşdırmadır, ona görə məxfilik onu daşıyan bağlantıdan asılıdır.

Qaytarılan Deferred cavab obyekti verir. Bu obyekti qəbul etmək cavab gövdəsini toplamır; sənədləşdirilmiş gövdə oxuma interfeysi ilə onu oxuyun və asinxron xətaları idarə edin. Endpoint taym-autu bağlantının qurulmasını məhdudlaşdırır, cavabın tam ömrünü deyil.

Nümunə qəsdən HTTP hədəfindən istifadə edir. Yalnız URI sxemini dəyişməklə HTTPS üçün CONNECT danışığı əlavə etmir.

Əlaqəli məqalələr