में HTTP प्रॉक्सी को HTTPS प्रॉक्सी में कनवर्ट करें हाल ही में मैं ट्विस्ट में HTTP प्रॉक्सी के साथ खेल रहा हूं। बहुत परीक्षण और त्रुटि के बाद मुझे लगता है कि आखिरकार मेरे पास कुछ काम कर रहा है। हालांकि मैं क्या जानना चाहता हूं, अगर यह संभव है, तो क्या मैं इस प्रॉक्सी का विस्तार करने के लिए भी HTTPS पृष्ठों को संभालने में सक्षम हूं? इस कोड, यह दर्शाता हैट्विस्ट
from twisted.internet import reactor
from twisted.web import http
from twisted.web.proxy import Proxy, ProxyRequest, ProxyClientFactory, ProxyClient
class HTTPProxyClient(ProxyClient):
def handleHeader(self, key, value):
print "%s : %s" % (key, value)
ProxyClient.handleHeader(self, key, value)
def handleResponsePart(self, buffer):
print buffer
ProxyClient.handleResponsePart(self, buffer)
class HTTPProxyFactory(ProxyClientFactory):
protocol = HTTPProxyClient
class HTTPProxyRequest(ProxyRequest):
protocols = {'http' : HTTPProxyFactory}
def process(self):
print self.method
for k,v in self.requestHeaders.getAllRawHeaders():
print "%s : %s" % (k,v)
print "\n \n"
ProxyRequest.process(self)
class HTTPProxy(Proxy):
requestFactory = HTTPProxyRequest
factory = http.HTTPFactory()
factory.protocol = HTTPProxy
reactor.listenSSL(8001, factory)
reactor.run()
के रूप में अब मैं सिर्फ बाहर मुद्रण कर रहा हूँ जो कुछ भी कनेक्शन के माध्यम से जा रहा है के लिए उदाहरण के लिए: यहाँ मैं अब तक क्या मिल गया है है। क्या समान कक्षाओं के साथ एचटीटीपीएस को संभालना संभव है? यदि नहीं, तो मुझे ऐसी चीज को लागू करने के बारे में कैसे जाना चाहिए?
आप सर्वर प्रमाणपत्र ट्रस्ट के मुद्दे को संभालने का इरादा कैसे रखते हैं? – MattH
मैटएच, मैं इस परियोजना के लिए एक और प्रोग्रामर के साथ सहयोग कर रहा हूं और उसके अनुसार वह पहले से ही यह पता लगा चुका है कि एसएसएल प्रमाण को दोबारा कैसे प्राप्त किया जाए। स्पष्ट रूप से आप चला सकते हैं: reactor.listenSSL (पोर्ट, फैक्ट्री, प्रमाण) और आप HTTPS कनेक्शन सुन सकते हैं। हालांकि, यदि आप विषय के बारे में जानकार हैं तो मैं निश्चित रूप से किसी भी इनपुट की सराहना करता हूं! – themaestro
मार्कस एडम्स बताते हैं। आपके पास प्रमाण पत्र ट्रस्ट का मुद्दा है। जब वेबब्रोसर को HTTPS के लिए प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर किया गया है, तो यह "कनेक्ट होस्ट: पोर्ट" भेजता है और सर्वर से पास होने की अपेक्षा करता है। शामिल प्रॉक्सी केवल एन्क्रिप्टेड SSL ट्रैफ़िक को देखेगा जो क्लाइंट और सर्वर के बीच ब्रोकिंग कर रहा है। यदि आप क्लाइंट के लिए सर्वर के रूप में जादुई रूप से मास्कराइड करना चाहते हैं, तो क्लाइंट को उस वेबसाइट तक पहुंचने के प्रयोजनों के लिए क्लाइंट प्राप्त करना होगा, जिस पर ग्राहक यात्रा करने का प्रयास कर रहा है। – MattH