Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में प्रॉक्सी वेब सर्वर बनाना

प्रॉक्सी सर्वर क्या है?

प्रॉक्सी सर्वर क्लाइंट और वास्तविक सर्वर के बीच मध्यस्थ होता है। यह क्लाइंट से अनुरोध प्राप्त करता है, वास्तविक सर्वर को अग्रेषित करता है, प्रतिक्रिया प्राप्त करके क्लाइंट को वापस भेजता है। उपयोग: IP छिपाना, कैशिंग, सुरक्षा, एक्सेस नियंत्रण।

पायथन मॉड्यूल्स

  • http.server (पायथन 3 में SimpleHTTPServer का स्थान) — HTTP सर्वर।
  • urllib.request — URL खोलने के लिए।

नोट: मूल कोड में SimpleWebSocketServer और SimpleHTTPSServer उपयोग किए गए हैं जो मानक लाइब्रेरी में नहीं हैं। नीचे मानक लाइब्रेरी संस्करण दिया गया है।

मानक लाइब्रेरी HTTP प्रॉक्सी (पायथन 3)

from http.server import HTTPServer, BaseHTTPRequestHandler
import urllib.request

PORT = 9012

class ProxyHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        # पथ से URL निकालें (पहला '/' हटाएं)
        url = self.path[1:] if self.path.startswith('/') else self.path
        
        if not url.startswith(('https://', 'https://')):
            self.send_error(400, "Invalid URL")
            return
        
        try:
            # वास्तविक सर्वर से अनुरोध करें
            response = urllib.request.urlopen(url)
            
            # प्रतिक्रिया हेडर्स भेजें
            self.send_response(response.status)
            for header, value in response.headers.items():
                self.send_header(header, value)
            self.end_headers()
            
            # बॉडी कॉपी करें
            self.copyfile(response, self.wfile)
            
        except Exception as e:
            self.send_error(502, f"Bad Gateway: {e}")

if __name__ == '__main__':
    server = HTTPServer(('localhost', PORT), ProxyHandler)
    print(f"प्रॉक्सी सर्वर चल रहा है: https://localhost:{PORT}")
    try:
        server.serve_forever()
    except KeyboardInterrupt:
        print("\nसर्वर बंद हो रहा है...")
        server.shutdown()

उपयोग

  1. सर्वर चलाएं: python proxy.py
  2. ब्राउज़र/क्लाइंट में प्रॉक्सी सेट करें: https://localhost:9012
  3. किसी भी URL पर जाएं, अनुरोध प्रॉक्सी के माध्यम से जाएगा।

आउटपुट

प्रॉक्सी सर्वर चल रहा है: https://localhost:9012

उन्नत विशेषताएं (अभ्यास के लिए)

  • HTTPS CONNECT मेथड सपोर्ट (टनलिंग)।
  • कैशिंग (LRU, ETag/Last-Modified)।
  • एक्सेस लॉगिंग और फ़िल्टरिंग।
  • थ्रेडिंग/एसिंक (ThreadingHTTPServer, asyncio)।
  1. Python में tkinter में बटन बनाना Python में tkinter में बटन बनाना

    Python के लिए एक लाइब्रेरी के रूप में Tkinter, tkinter कैनवास पर बटन बनाने के कई तरीके प्रदान करता है। इस लेख में हम देखेंगे कि हम सामान्य tkinter मॉड्यूल के साथ-साथ थीम वाले tkinter मॉड्यूल का उपयोग किए बिना tkinter बटन कैसे बना सकते हैं। tkinter का उपयोग करना नीचे दिए गए प्रोग्राम में हम पहले एक क

  1. LAN पर प्रॉक्सी सर्वर को कैसे बायपास करें LAN पर प्रॉक्सी सर्वर को कैसे बायपास करें

    कंटेंट फ़िल्टरिंग और प्रॉक्सी सर्वर स्कूलों, कॉलेजों और कार्यालयों में जीवन का एक तरीका हैं। सिस्टम एडमिन अक्सर उन्हें आपके एंडपॉइंट और इंटरनेट के बीच स्थापित करते हैं ताकि वेब ट्रैफिक की निगरानी की जा सके और अवांछित वेबसाइटों को ब्लॉक किया जा सके। हालांकि, कभी-कभी वे उत्पादकता के लिए एक बाधा होते ह

  1. अपने मैक पर प्रॉक्सी सेटिंग्स आसानी से संशोधित करें: चरण-दर-चरण गाइड अपने मैक पर प्रॉक्सी सेटिंग्स आसानी से संशोधित करें: चरण-दर-चरण गाइड

    अब और फिर, आपको किसी भी डिवाइस पर प्रॉक्सी सेटिंग्स को ट्वीक करने की आवश्यकता हो सकती है, चाहे वह मैक, लिनक्स, या विंडोज हो। तो, क्या आपने कभी अपने मैकबुक पर प्रॉक्सी सेटिंग्स बदलने की आवश्यकता महसूस की है? यदि हां, तो यह पोस्ट आपकी मदद कर सकती है। हमने मैक पर प्रॉक्सी कॉन्फ़िगर करने के लिए सबसे तेज