
एक ही पायथन स्क्रिप्ट में HTTP/HTTPS प्रॉक्सी
एक ही पायथन स्क्रिप्ट में HTTP/HTTPS प्रॉक्सी
यह स्क्रिप्ट Python 2.7 पर काम करती है। HTTPS कनेक्शन इंटरसेप्ट करने के लिए आपको OpenSSL इंस्टॉल करना होगा।
बस इसे एक स्क्रिप्ट के रूप में चलाएँ:
$ python proxy2.py
उपरोक्त कमांड प्रॉक्सी को localhost:8080 पर चलाती है। यह जाँचने के लिए कि यह काम करता है, उसी होस्ट के दूसरे टर्मिनल पर नीचे दिया गया कमांड टाइप करें।
$ http_proxy=localhost:8080 curl http://www.example.com/
proxy2 डिबगिंग/टेस्टिंग के लिए बनाया गया है, इसलिए यह केवल localhost से कनेक्शन स्वीकार करता है।
कोई अन्य पोर्ट उपयोग करने के लिए, पहले तर्क के रूप में पोर्ट नंबर निर्दिष्ट करें।
$ python proxy2.py 3128
HTTPS कनेक्शन इंटरसेप्ट करने के लिए, निजी कुंजियाँ और एक निजी CA प्रमाणपत्र जनरेट करें:
$ ./setup_https_intercept.sh
प्रॉक्सी के माध्यम से, आप http://proxy2.test/ तक पहुँच सकते हैं और ब्राउज़र में CA प्रमाणपत्र इंस्टॉल कर सकते हैं।
आप प्रॉक्सी को आसानी से अनुकूलित कर सकते हैं और अनुरोधों/प्रतिक्रियाओं को संशोधित कर सकते हैं या फ़ाइलों में कुछ सहेज सकते हैं। ProxyRequestHandler क्लास में अनुकूलित करने के लिए 3 विधियाँ हैं:
डिफ़ॉल्ट रूप से, केवल save_handler लागू किया गया है, जो HTTP(S) हेडर और कुछ उपयोगी डेटा को स्टैंडर्ड आउटपुट में आउटपुट करता है।