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 object দিয়ে। সেই object টো পোৱাটোৱে response body সংগ্ৰহ নকৰে; নথিভুক্ত body-reading ইন্টাৰফেছৰ জৰিয়তে ইয়াক পঢ়ক আৰু অসামঞ্জস্যপূৰ্ণ বিফলতাৰ ব্যৱস্থাপনা কৰক। endpoint ৰ সময়সীমাই সংযোগ স্থাপন সীমাবদ্ধ কৰে, সম্পূৰ্ণ response জীৱনকাল নহয়।
উদাহৰণটোৱে ইচ্ছাকৃতভাৱে HTTP গন্তব্য ব্যৱহাৰ কৰে। ই URI scheme সলনি কৰি মাত্ৰ HTTPS ৰ বাবে CONNECT আলোচনা যোগ নকৰে।