मैं वर्तमान में एक जावा एप्लिकेशन लिख रहा हूं जो एक सर्वर पर एक सीएसवी फ़ाइल और कुछ अन्य पैरामीटर अपलोड करने के लिए HTTP पोस्ट का उपयोग करता है। सर्वर मेरे आवेदन में 500 त्रुटियों को वापस रखता रहता है और मैं फिडलर में HTTP अनुरोध देखना चाहता हूं ताकि मैं POST अनुरोध देख सकूं।
जब मैं फिडलर चलाता हूं तो यह जावा एप्लिकेशन से किसी भी HTTP ट्रैफिक को कैप्चर नहीं करेगा। मैंने एक जीईटी अनुरोध लिखा है जो काम करता है, इसलिए मुझे पता है कि मैं सर्वर से संवाद कर सकता हूं, हालांकि फिडलर के माध्यम से कोई ट्रैफिक नहीं दिखाया गया है।फिडलर जावा एप्लिकेशन से HTTP अनुरोधों को कैप्चर नहीं कर रहा है
उत्तर
आप बस 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 ...
विकास सर्वर जो मैं लिख रहा हूं, एक स्वयं हस्ताक्षरित प्रमाण पत्र का उपयोग करता है, इसलिए मैंने सभी प्रमाणपत्रों पर विश्वास करने के लिए कक्षाएं लिखी हैं। मैंने प्रॉक्सीहोस्ट और प्रॉक्सीपोर्ट गुण सेट किए हैं, हालांकि मुझे अभी भी फिडलर के माध्यम से एप्लिकेशन से कोई ट्रैफिक नहीं दिख रहा है। – Andrew
मैं गुणों में https का उपयोग करके और स्थानीय होस्ट को 127.0.0.1 में बदलकर काम करने में सक्षम था। – Andrew
मेरे परिवर्तन ने HTTP GET अनुरोध को देखना संभव बना दिया जो HttpURLConnection का उपयोग करता है। POST अनुरोध अपाचे के HttpComponents का उपयोग कर रहा है और मैं अभी भी इस यातायात को नहीं देख सकता। – Andrew
, पिछला समाधान काम नहीं करता है। हालांकि निम्न कार्य करता है:
HttpClient httpClient = new HttpClient();
httpClient.setProxy(new Address("127.0.0.1", 8888));
httpClient.start();
क्या आप जानते हैं कि कैसे इसे HTTPS के साथ काम करने के लिए? – Arya
क्या जावा सर्वलेट पोस्ट को प्रोसेस कर रहा है? –
क्या आप वाकई https ट्रैफ़िक नहीं हैं? – matcheek
नहीं है। मैं सर्वर पर एक एपीआई से एक अपलोड विधि कॉल करने के लिए अपाचे के HTTPComponents का उपयोग कर रहा हूँ। – Andrew