useReplaceInRequest HTTP अनुरोध निकाय में स्ट्रिंग्स को FiddlerCore में प्रतिस्थापित नहीं करता है

Dec 01 2020

useReplaceInRequest FiddlerCore में मेरे लिए काम नहीं कर रहा है।

मैं एक फ़ाइल को क्लाउड सेवा (Microsoft Azure) पर अपलोड कर रहा हूं। मैं देख सकता हूं कि संबंधित HTTP अनुरोध के मुख्य भाग में फ़ाइल सामग्री है। मुझे फ़ाइल अपलोड होने से पहले उन कुछ सामग्रियों (जैसे HTTP अनुरोध निकाय) में प्रतिस्थापित करने की आवश्यकता है।

मैंने एक Visual Studio C # प्रोग्राम बनाया है और FiddlerCore के साथ एकीकृत किया है। मैं फिडलर के प्रलेखन के अनुसार यूज़RRplaceInRequest विधि का उपयोग कर रहा हूँ:

                 outcome = session.utilReplaceInRequest(original_str, replace_str);
                Console.WriteLine("result: " + outcome + "\n");

क्या हो रहा है उपयोग हैReplaceInRequest "प्रकट होता है" काम करने के लिए कि परिणाम चर कई बार True पर सेट होता है जिसे मैं उपयोग कर रहा हूं ।ReplaceInRequest। (मुझे शरीर में कई तारों को बदलने की आवश्यकता है, इसलिए मैं उपयोग करता हूंReplaceInRequest कई बार)। लेकिन जब मैं क्लाउड सेवा में वास्तविक फ़ाइल सामग्री की जांच करता हूं, तो वे मूल तार होते हैं। कुछ भी बदला नहीं गया है। मैंने सत्र शुरू करने का भी प्रयास किया। FetlerCore में useReplaceInRequest कॉल करने के बाद। लेकिन वह "निकाय" अभी क्लाउड सेवा में नहीं भेजा जा रहा है।

लेकिन दिलचस्प रूप से पर्याप्त है - जब मैं खुद फिडलर में एक ही काम करता हूं ("स्थिर फ़ंक्शन ऑनबियरफ्रंटेस्ट (सत्र: सत्र) {}" फ़ंक्शन में नियमों को अनुकूलित करता हूं), यह काम करता है, और संशोधित HTTP बॉडी क्लाउड सेवा को भेजा जा रहा है !

क्या कुछ कॉन्फ़िगरेशन विकल्प है जिसे मुझे फ़िडलर की तरह फ़िडलरकोर काम करने के लिए (शायद मेरे सी # प्रोग्राम में) सेट करने की आवश्यकता है?

धन्यवाद।

स्टेन

जवाब

BorislavIvanov Dec 14 2020 at 03:32

आप सेटिंग आज़मा सकते हैं:

session.bBufferResponse = true;

जैसा कि यहां FiddlerCore डेमो में वर्णित है ।