একটি প্রক্সি সার্ভার ক্লায়েন্ট এবং প্রকৃত সার্ভারের মধ্যে বসে। এটি ক্লায়েন্টের কাছ থেকে অনুরোধগুলি গ্রহণ করে, এটি প্রকৃত সার্ভারে প্রেরণ করে এবং প্রকৃত সার্ভার থেকে প্রতিক্রিয়া পাওয়ার পরে এটি ক্লায়েন্টের কাছে প্রতিক্রিয়াটি ফেরত পাঠায়। প্রক্সি ব্যবহার করার অনেক কারণ আছে যেমন সার্ভারের আইপি অ্যাড্রেস লুকানো, পারফরম্যান্সের উন্নতি বা নিরাপত্তা বৃদ্ধি ইত্যাদি। এই নিবন্ধে আমরা দেখব কিভাবে আমরা পাইথন ব্যবহার করে একটি সাধারণ প্রক্সি সার্ভার তৈরি করতে পারি।
তিনটি মডিউল SimpleWebSocketServer, SimpleHTTPSServer এবং urllib এটি অর্জন করতে ব্যবহার করা যেতে পারে। নীচে আমরা এই মডিউলে উপলব্ধ পদ্ধতিগুলি ব্যবহার করে কিভাবে পাইথন ক্লাস তৈরি করি এবং সেই ক্লাসের উদাহরণ SimpleWebSocketServer-এ পাস করি। তারপর ক্লাসের সাথে উপলব্ধ সার্ভার ফরএভার পদ্ধতি ব্যবহার করে আমরা সার্ভারটি আপ এবং রান করি।
উদাহরণ
import SimpleWebSocketServer
import SimpleHTTPSServer
import urllib
PORT = 9012
class JustAProxy(SimpleHTTPSServer.SimpleWebSocketServer):
def do_GET(self):
url=self.path[1:]
self.send_response(200)
self.end_headers()
self.copyfile(urllib.urlopen(url), self.wfile)
httpd = SimpleWebSocketServer.SimpleWebSocketServer('localhost',PORT,JustAProxy)
print ("Proxy Srever at" , str(PORT))
httpd.serveforever() আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
Proxy Srever at 9012