HTTP প্ৰক্সি URL এটাক Twisted এণ্ডপইণ্টলৈ ৰূপান্তৰ কৰক
HTTP প্ৰক্সি URL এটাক Twisted ৰ এণ্ডপইণ্ট বৰ্ণনা ব্যাকৰণ হিচাপে পঠিওৱাৰ পৰিৱৰ্তে হোষ্ট আৰু প'ৰ্টত বিশ্লেষণ কৰক।
http://proxy.example:8080 ৰ দৰে এটা পৰম্পৰাগত প্ৰক্সি মান এটা URL। Twisted ৰ clientFromString এ tcp:host=proxy.example:port=8080 ৰ দৰে এণ্ডপইণ্ট বৰ্ণনা গ্ৰহণ কৰে। দুয়োটা স্ট্রিঙে সম্পৰ্কিত তথ্য বেলেগ বেলেগ ব্যাকৰণেৰে বৰ্ণনা কৰে।
যদি এপ্লিকেশনে এটা পৰম্পৰাগত HTTP প্ৰক্সি URL গ্ৰহণ কৰে, এণ্ডপইণ্ট সৃষ্টি কৰাৰ আগতে ইয়াক বিশ্লেষণ কৰক:
import os
from urllib.parse import urlsplit
from twisted.internet.endpoints import HostnameEndpoint
from twisted.web.client import ProxyAgent
proxy = urlsplit(os.environ['http_proxy'])
if proxy.scheme != 'http' or not proxy.hostname:
raise ValueError('Expected an HTTP proxy URL')
port = proxy.port if proxy.port is not None else 80
endpoint = HostnameEndpoint(reactor, proxy.hostname, port, timeout=5)
agent = ProxyAgent(endpoint, reactor=reactor)
এই অংশটোৱে ধৰি লয় যে এপ্লিকেশ্যনৰ ইতিমধ্যে ইয়াৰ ৰিঅেক্টৰ আছে। HTTP URL ৰ ডিফল্ট নহ'লে কনফিগাৰেশ্যনত প্ৰকৃত প্ৰক্সি প'ৰ্ট নিৰ্দিষ্ট কৰক। HTTP প্ৰক্সি তালিকায়ে প্ৰক্সি একাউণ্ট নোহোৱাকৈ অনুমোদিত ৰাজহুৱা HTTP অনুৰোধৰ বাবে এণ্ডপইণ্ট প্ৰাৰ্থী আগবঢ়ায়। HostnameEndpoint য়ে হোষ্টনাম আন এটা ক'লন-বিভক্ত কনফিগাৰেশ্যন স্ট্রিঙত সুমুৱাব পৰাও এৰি যায়।
ই কেৱল ৰাউটিং ইনপুটটো ৰূপান্তৰ কৰে। URL ত সন্নিৱিষ্ট প্ৰমাণপত্ৰ কেৱল হোষ্ট আৰু প'ৰ্ট বিশ্লেষণ কৰাৰ বাবেই অনুমোদন শিৰোনাম নহয়। অনুৰোধৰ প্ৰমাণীকৰণ ব্যৱস্থাৰ জৰিয়তে প্ৰয়োজনীয় সমৰ্থিত প্ৰক্সি প্ৰমাণীকৰণ আগবঢ়াওক। সৰল HTTP গন্তব্য আৰু Basic আগবঢ়োৱা এটা মধ্যৱৰ্তীৰ বাবে, ProxyAgent ৰ Basic অনুৰোধ শিৰোনাময়ে এনে এটা ব্যৱস্থা আগবঢ়ায়।
HTTPS প্ৰক্সি URL ৰ বাবে প্ৰক্সিলৈ TLS-সক্ষম সংযোগ প্ৰয়োজন। SOCKS URL ৰ বাবে SOCKS আলোচনা প্ৰয়োজন। সেই স্কিমবোৰ সৰল HTTP ProxyAgent এণ্ডপইণ্ট ৰূপান্তৰলৈ পঠিয়াই দুয়োটাৰে এটাও ৰূপায়ণ নহয়।