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 আলোচনা যোগ করে না।

সম্পর্কিত নিবন্ধ