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 خبرې اترې نه زیاتوي.

اړوندې مقالې