2009-05-06 11 views
7

मैं फिडलर की सत्र सूची में प्रत्येक अनुरोध का आकार प्रदर्शित करना चाहता हूं। क्या मैं अब तक की कोशिश की, CustomRules.js फ़ाइल में कोई कस्टम स्तंभ जोड़ने के लिए किया गया था:फिडलर में HTTP अनुरोध का आकार कैसे प्रदर्शित करें?

public static BindUIColumn("RequestSize") 
function CalcMethodCol(oS: Session) 
{ 
    if (null != oS.requestBodyBytes) 
    return oS.requestBodyBytes.Length; //this is the relevant line 
    else 
    return "?"; 
} 

लेकिन जब Fiddler स्क्रिप्ट लोड करने के लिए कोशिश करता है कि यह एक त्रुटि का परिणाम है।

यदि मैं यह करने के लिए टिप्पणी के साथ लाइन बदलने के लिए:

return typeof(oS.requestBodyBytes.Length); 

तो Fiddler प्रदर्शित करता है 'संख्या' RequestSize कॉलम में। इसके कारण मुझे लगता है कि मैं जो हासिल करने की कोशिश कर रहा हूं उससे बहुत दूर नहीं हूं। मैं सिर्फ यह पता नहीं लगा सकता कि अनुरोध के आकार को कैसे प्रदर्शित करें बॉडीबाइट्स फ़ील्ड।

कोई संकेत जो मैं गलत कर रहा हूं या क्या गुम है?

उत्तर

7

अद्यतन, तो आप बस स्तंभ पर राइट-क्लिक कर सकते हैं:

यह स्क्रिप्ट, जब CustomRules.js में डाल दिया, HTTP अनुरोध की लंबाई/आकार Fiddler में प्रिंट होगा हेडर, "कॉलम कस्टमाइज़ करें" चुनें और Miscellaneous>Request Size कॉलम जोड़ें।


अपनी आवश्यकताओं पर निर्भर करता है, जो वास्तव में आप क्या करना चाहते हैं, तो हो सकता है नहीं हो सकता है क्योंकि यह केवल अनुरोध शरीर की लंबाई से पता चलता है, और हेडर के आकार शामिल नहीं है।

यहाँ एक उन्नत संस्करण है:

public static BindUIColumn("Req-Size") 
function CalcReqSize(oS: Session){   
    if (null == oS.oRequest) return String.Empty; 
    var cBytesOut: int = 0; 

    if (null != oS.requestBodyBytes) cBytesOut += oS.requestBodyBytes.LongLength; 
    if ((null != oS.oRequest) && (null != oS.oRequest.headers)) cBytesOut += 
    oS.oRequest.headers.ByteCount() ; 
    return cBytesOut.ToString(); 
} 
+0

कि समाधान के लिए धन्यवाद। – M4N

+0

फिडलर में परीक्षण 2.3.9.1 बीटा -> अनुरोध बॉडीबाइट्स। लांगलेथेंथ अनुरोध बन जाता है बॉडीबाइट्स। लम्बाई –

+1

लांग लम्बाई और लंबाई एक ही चीज़ लौटती है। – EricLaw

4

ठीक है, मुझे पता था कि मैं बहुत दूर नहीं था। मेरे प्रश्न का उत्तर यहां दिया गया है। Fiddler के आधुनिक संस्करणों में

public static BindUIColumn("Req-Length") 
function CalcMethodCol(oS: Session){ 
    if (null != oS.oRequest) 
      return oS.requestBodyBytes.LongLength.ToString(); 
     else 
      return String.Empty; 
}