Telerik Forums
Fiddler Forum
0 answers
202 views

I used the eval function in fiddlerscript to dynamically load code from the server when fiddler was opened.But when using the eval function to process JSON, the program throws an exception.code show as below:

 //Operating normally

if(oSession.uriContains('https://xxxxxx.com')){ var responseStringOriginal = oSession.GetResponseBodyAsString(); var responseJSON = Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal); responseJSON.JSONObject['data']['data1']['data2'] = 22; responseJSON.JSONObject['data']['data1']['data3'] = 1; responseJSON.JSONObject['data']['data1']['data4'][0]['type'] = 2; responseJSON.JSONObject['data']['data1']['data5'][0]['type'] = 22; var responseStringDestinal = Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject); oSession.utilSetResponseBody(responseStringDestinal); }

//throw an exception
eval("if(oSession.uriContains('https://xxxxxx.com')){var responseStringOriginal=oSession.GetResponseBodyAsString();var responseJSON=Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal);responseJSON.JSONObject['data']['data1']['data2']=22;responseJSON.JSONObject['data']['data1']['data3']=1;responseJSON.JSONObject['data']['data1']['data4'][0]['type']=2;responseJSON.JSONObject['data']['data1']['data5'][0]['type']=22;var responseStringDestinal=Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);oSession.utilSetResponseBody(responseStringDestinal)}")
Under my constant testing, I found that when the program is executed to JSON containing [number], it will throw an exception. It runs normally when the statement was deleted

 

(It says that Hashtable cannot cast to StackFrame)

Thanks for help.

LALA
Top achievements
Rank 1
 asked on 25 Nov 2021
0 answers
210 views
Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Type: System.TypeLoadException
Source: mscorlib
   at System.ModuleHandle.ResolveMethod(RuntimeModule module, Int32 methodToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount)

   at System.ModuleHandle.ResolveMethodHandleInternalCore(RuntimeModule module, Int32 methodToken, IntPtr[] typeInstantiationContext, Int32 typeInstCount, IntPtr[] methodInstantiationContext, Int32 methodInstCount)

   at System.ModuleHandle.ResolveMethodHandleInternal(RuntimeModule module, Int32 methodToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)

   at System.Reflection.CustomAttributeData..ctor(RuntimeModule scope, CustomAttributeRecord caRecord)

   at System.Reflection.CustomAttributeData.GetCustomAttributes(RuntimeModule module, Int32 tkTarget)

   at System.Reflection.CustomAttributeData.GetCustomAttributesInternal(RuntimeAssembly target)

   at System.Resources.ManifestBasedResourceGroveler.GetNeutralResourcesLanguage(Assembly a, UltimateResourceFallbackLocation& fallbackLocation)

   at System.Resources.ResourceManager.CommonSatelliteAssemblyInit()

   at System.Resources.ResourceManager..ctor(Type resourceSource)

   at System.ComponentModel.ComponentResourceManager..ctor(Type t)

   at .ž“.P3btQI1hZ7()

   at .ž“..ctor()

   at Fiddler.frmViewer.dX9tuyvkNw(Object  )

   at Fiddler.frmViewer.ERDt4XkYjk(String[]  )
ding
Top achievements
Rank 1
 asked on 22 Nov 2021
0 answers
231 views

I have Fiddler up and running on box A.  I can see all traffic from my local machine and my autoresponders are working as expected.

On my Android cell phone I have set up the network to use box A as proxy.  The pages are being rendered in the Android browser as expected and autoresponders are giving the correct data as expected, but none of the traffic is showing in the Fiddler UI.

Any idea?

Ed
Top achievements
Rank 1
 asked on 18 Nov 2021
0 answers
434 views

My enviroment:

I run my connection through a barracuda web security gateway proxy that uses a pac file to connect

 

Issue.

I was running into an issue with google earth pro and was attempting to use fiddler to troubleshoot the issue. I installed fiddler without admin permissions. Google earth pro streetview fails to download images due to 407 error (Web page that renders image gives a failed to pass or parse credentials from proxy.)

The issue I am running into is when I run fiddler it "fixes" the issue without indication of where the issue came from. I uninstall fiddler and the "fix" remains even after removing google earth pro registry files tmp files and cached files, something on my system changed when installing fiddler that prevents the images in google earth pro from using my pac file when connecting. I cant seem to find out what change was made to reverse it even after an uninstall of fiddler. Any help or information regarding what system changes are made with the fiddler installer would be greatly appreciated.

Thank you,

Patrick

patrick
Top achievements
Rank 1
 asked on 09 Nov 2021
1 answer
696 views

Hi,

Tried every filter, every Rule but this host allways appears making Fiddler unusable.

POST http://localhost:60110/request HTTP/1.1
Content-Type: application/json
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.8,pt-PT;q=0.5,pt;q=0.3
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)
Content-Length: 27
Host: localhost:60110
Connection: Keep-Alive
Pragma: no-cache

{"hello":{},"waitfor":3000}

 

 

 

Nick Iliev
Telerik team
 answered on 08 Nov 2021
0 answers
337 views

Hello, please tell me how to create a separate POST request using the C# language.
Initially, I tried to change the outgoing POST request from another application and resend it, but I get an error - "HTTP/1.1 504 Fiddler - Receive Failure".
And now you need to write a new request, specifying the headers and receiving a response.
And the whole question is how to do it all in C#?

I tried to use this code

 


    public static void OnBeforeResponse(Session oSession)
        {
           
        
            if (oSession.HTTPMethodIs("POST") ) 
            { 
    
    
                  String strBody =  oSession.GetRequestBodyAsString(); 
     
                  oSession.host="api.123.com";
      
                    string resultRequest = "request";
   
    
                    byte[] resulByte =   System.Text.Encoding.ASCII.GetBytes(resultRequest);
    
                
                    FiddlerApplication.oProxy.SendRequest (oSession.RequestHeaders, resulByte, null);            
    
               }

Max
Top achievements
Rank 1
Iron
 asked on 06 Nov 2021
1 answer
123 views
<p>Hi,</p><p>Any release schedule for the latest Telerik Fiddler Classic? Just curious, I love your products.</p><p>Thank you in advance.</p>
Nick Iliev
Telerik team
 answered on 03 Nov 2021
1 answer
189 views

Hi,

Any release schedule for the latest Telerik Fiddler Classic? Just curious, I love your products.

Thank you in advance.

Nick Iliev
Telerik team
 answered on 03 Nov 2021
1 answer
1.3K+ views
I have some issues on fiddler everywhere and I want to uninstall it from my device (OS ubuntu 20.04)
Nick Iliev
Telerik team
 answered on 02 Nov 2021
1 answer
1.1K+ views

hi everyone, sorry for my English)))

 

I have been trying to solve my problem for a long time, but unfortunately so far without success ((((
I have a POST request of a certain type, I need to change it and send it to another address, and the original request should go further to its address. I'm trying to work with the exchange. More to the point, I have a request like this :

 

I need to send this request after the original one

https://fapi/binance.com/fapi/v1/order?symbol=KEEPUSDT&side=BUY&type=MARKET&quantity=100&timeInForce=GTC&recvWindow=5000&timestamp=1591702613943&signature= 3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9
    

 

In addition, the public API is passed in the header

I tried to do all this work in the onBeforeRequest method

 

 static function OnBeforeRequest(oSession: Session) {
       
		
	if (oSession.RequestMethod == "POST" &&  oSession.uriContains("order") ) {
       
         oSession.utilDecodeResponse()
        var strBody=oSession.GetRequestBodyAsString();
 
    
           // timestamp, time ms
            
            var timestampSTART= oSession.url.IndexOf("timestamp=") + 10; 
            
            var timestampEND= oSession.url.IndexOf("&", timestampSTART);   
           
            var timestamp = oSession.url.Substring(timestampSTART, 13);
            
           
            // SYMBOL
            
            var symbolStart = oSession.url.IndexOf("symbol=")+7;
           
            var symbolend = oSession.url.IndexOf("BTC", symbolStart)+3;
       
            var symbol = oSession.url.Substring(symbolStart, symbolend-symbolStart);
            
            
           //  Signature (timestamp+SecretAPIKey=Hmac Sha256)   theoretically, it can be taken from the original request, but it is more reliable to make your own 
           var signStart = oSession.url.IndexOf("signature=")+10;
                         
           var sign = oSession.url.Substring(signStart);
            
           
            //PRICE
            
         var PriceStart = oSession.url.IndexOf("price=")+6;
         var PriceEND = oSession.url.IndexOf("&", PriceStart);
         var priceStr = oSession.url.Substring(PriceStart, PriceEND-PriceStart);
         var price = parseFloat(priceStr);
            
                                    
            // Quantity
            
            var quantity = 50/ price*63000;
      
            var apiBIN =  "https://fapi.binance.com/fapi/v1/order?" ;
          
           
         //    var result = apiBIN+"symbol="+symbol+"&side=BUY&type=MARKET&quantity="+ quantity+"&timeInForce=GTC&recvWindow=5000&timestamp="+timestamp+"&signature="+sign;
                
         //    oSession.utilSetRequestBody(result)
      
         //   FiddlerApplication.oProxy.SendRequest(oSession.RequestHeaders, oSession.requestBodyBytes, null);
                
         

I have selected the necessary parameters from the request, but I do not understand how to send it in any way, and I also lose the header with the API key. 
Separately, I want to note the "Signature" parameter, which is created using the Hmac Sha256 algorithm from the secret API key and time, which I also can't figure out how to describe it in the code.

I would be very grateful for any help, with the possibility of some payment for substantial help.

Max
Top achievements
Rank 1
Iron
 updated answer on 31 Oct 2021
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?