Twisted ProxyAgent: سادہ HTTP کے لیے Basic تصدیق
بائٹ قدروں والے درخواست ہیڈرز کے ساتھ Twisted ProxyAgent کے ذریعے تصدیق شدہ سادہ HTTP درخواست بھیجیں۔
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 ایک response آبجیکٹ دیتا ہے۔ اُس آبجیکٹ کو حاصل کرنا response body جمع نہیں کرتا؛ اُسے دستاویزی body-reading انٹرفیس کے ذریعے پڑھیں اور غیر ہم وقت ناکامیوں کو سنبھالیں۔ endpoint کی وقت کی حد کنکشن قائم ہونے کو محدود کرتی ہے، response کی پوری عمر کو نہیں۔
مثال جان بوجھ کر HTTP منزل استعمال کرتی ہے۔ صرف URI اسکیم بدلنے سے یہ HTTPS کے لیے CONNECT گفت و شنید شامل نہیں کرتی۔