2014-05-22 5 views
5

जाओ भाषा http कनेक्शन अपहरण।गो हाइजैक क्लाइंट कनेक्शन

मुझे पता है कि सर्वर पक्ष पर हाइजैक कैसे करें। http://golang.org/pkg/net/http/#example_Hijacker

लेकिन क्या ग्राहकों के पक्ष में इसे हाइजैक करने का कोई तरीका है?

+0

वास्तव में नहीं (कनेक्शन परिवहन में पूल किए जाते हैं)। आपको वास्तव में क्या करने की ज़रूरत है? – JimB

+0

मेरे पास go_client और go_server है। Go_server वेब सर्वर है। मैं क्लाइंट चाहता हूं कि कुछ हैंडलर पर go_server कनेक्ट करें। और एक HTTP अनुरोध के बाद, कच्चे सॉकेट पर इसके साथ संवाद करें। मैं क्लाइंट चाहता हूं कि http कनेक्शन को हाइजैक करें। बेशक अगर यह संभव है। जैसे चीजों में से एक मैं जीईटी के बजाय HTTP प्रॉक्सी कनेक्ट कर सकता हूं। – Max

उत्तर

7

नहीं, आप डिफ़ॉल्ट http.Client साथ ऐसा नहीं कर सकते, लेकिन net/http/httputil एक ClientConn है, जो एक निम्न स्तर http ग्राहक सीधे किसी net.Conn लपेटता है। यह हाइजैक-सक्षम है, और मानक http.Request पर संचालित है।

http://golang.org/pkg/net/http/httputil/#ClientConn

इसके अलावा

, जब से तुम दोनों पक्षों को नियंत्रित, और आप कुछ भी भी अप्रत्याशित नहीं देखना चाहिए, यह आसान हो बस TCP कनेक्शन के लिए सीधे अनुरोध अपने आप को लिखने के लिए कर सकते हैं (या Request.Write() उपयोग करें यदि आप करना चाहते हैं इस तरह से अनुरोध का निर्माण करें)

+0

मैंने अभी तक 'ClientConn' का परीक्षण नहीं किया है। लेकिन मेरा मानना ​​है कि यह जवाब है। धन्यवाद – Max

संबंधित मुद्दे