พร็อกซีเซิร์ฟเวอร์ตั้งอยู่ระหว่างไคลเอนต์และเซิร์ฟเวอร์จริง รับคำขอจากลูกค้า ส่งไปยังเซิร์ฟเวอร์จริง และเมื่อได้รับการตอบกลับจากเซิร์ฟเวอร์จริง จะส่งการตอบกลับกลับไปยังไคลเอนต์ มีเหตุผลมากมายที่จะใช้พร็อกซี เช่น การซ่อนที่อยู่ IP ของเซิร์ฟเวอร์ การปรับปรุงประสิทธิภาพ หรือการเพิ่มความปลอดภัย เป็นต้น ในบทความนี้ เราจะมาดูกันว่าเราจะสร้างพร็อกซีเซิร์ฟเวอร์อย่างง่ายโดยใช้ python ได้อย่างไร
สามโมดูล SimpleWebSocketServer, SimpleHTTPSServer และ urllib สามารถใช้เพื่อให้บรรลุสิ่งนี้ ด้านล่าง เราจะเห็นว่าเราสร้างคลาส python อย่างไรโดยใช้วิธีการที่มีอยู่ในโมดูลนี้ และส่งผ่านอินสแตนซ์ของคลาสนั้นไปยัง 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