2012-03-08 10 views
21

मैं वर्तमान में एक जावा एप्लिकेशन लिख रहा हूं जो एक सर्वर पर एक सीएसवी फ़ाइल और कुछ अन्य पैरामीटर अपलोड करने के लिए HTTP पोस्ट का उपयोग करता है। सर्वर मेरे आवेदन में 500 त्रुटियों को वापस रखता रहता है और मैं फिडलर में HTTP अनुरोध देखना चाहता हूं ताकि मैं POST अनुरोध देख सकूं।
जब मैं फिडलर चलाता हूं तो यह जावा एप्लिकेशन से किसी भी HTTP ट्रैफिक को कैप्चर नहीं करेगा। मैंने एक जीईटी अनुरोध लिखा है जो काम करता है, इसलिए मुझे पता है कि मैं सर्वर से संवाद कर सकता हूं, हालांकि फिडलर के माध्यम से कोई ट्रैफिक नहीं दिखाया गया है।फिडलर जावा एप्लिकेशन से HTTP अनुरोधों को कैप्चर नहीं कर रहा है

+0

क्या जावा सर्वलेट पोस्ट को प्रोसेस कर रहा है? –

+0

क्या आप वाकई https ट्रैफ़िक नहीं हैं? – matcheek

+0

नहीं है। मैं सर्वर पर एक एपीआई से एक अपलोड विधि कॉल करने के लिए अपाचे के HTTPComponents का उपयोग कर रहा हूँ। – Andrew

उत्तर

18

आप बस HTTPS ट्रैफ़िक के लिए HTTP यातायात के लिए और https.proxyHost/https.proxyPort को स्थानीय होस्ट और http.proxyPort के गुण

http.proxyHost सेट करके अपने आवेदन के लिए HTTP प्रॉक्सी के रूप में फ़िडलर सेट कर सकते हैं। HTTPS ट्रैफ़िक के लिए आपको अपने आवेदन में विश्वसनीय प्रमाणपत्र के रूप में फिडलर रूट प्रमाणपत्र (विकल्प संवाद में निर्यात योग्य) भी जोड़ना होगा।

आप अपने कोड

System.setProperty("http.proxyHost", "localhost"); 
System.setProperty("http.proxyPort", "8888"); 

की शुरुआत में निम्नलिखित लाइनों को जोड़कर ऐसा करते हैं या कमांड लाइन के माध्यम से उन्हें सेट जब जावा वी एम शुरू कर सकते हैं:

java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 ... 
+0

विकास सर्वर जो मैं लिख रहा हूं, एक स्वयं हस्ताक्षरित प्रमाण पत्र का उपयोग करता है, इसलिए मैंने सभी प्रमाणपत्रों पर विश्वास करने के लिए कक्षाएं लिखी हैं। मैंने प्रॉक्सीहोस्ट और प्रॉक्सीपोर्ट गुण सेट किए हैं, हालांकि मुझे अभी भी फिडलर के माध्यम से एप्लिकेशन से कोई ट्रैफिक नहीं दिख रहा है। – Andrew

+0

मैं गुणों में https का उपयोग करके और स्थानीय होस्ट को 127.0.0.1 में बदलकर काम करने में सक्षम था। – Andrew

+1

मेरे परिवर्तन ने HTTP GET अनुरोध को देखना संभव बना दिया जो HttpURLConnection का उपयोग करता है। POST अनुरोध अपाचे के HttpComponents का उपयोग कर रहा है और मैं अभी भी इस यातायात को नहीं देख सकता। – Andrew

1
जेट्टी HTTP ग्राहक के साथ

, पिछला समाधान काम नहीं करता है। हालांकि निम्न कार्य करता है:

HttpClient httpClient = new HttpClient(); 
httpClient.setProxy(new Address("127.0.0.1", 8888)); 
httpClient.start(); 
+0

क्या आप जानते हैं कि कैसे इसे HTTPS के साथ काम करने के लिए? – Arya

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