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 वाटाघाटी जोडत नाही.

संबंधित लेख