Telerik Forums
Fiddler Forum
0 answers
672 views

When I capture a request, it's a Fiddler.Session object.
I've been searching this object for hours now, and I can't find the Request Payload.
I have searched through all properties, maybe I skipped something, but I can't find it. I searched more RequestBody and RequestHeaders without success.

So is it even possible with this object to access Request Payload?

Cherry
Top achievements
Rank 1
 asked on 30 Jun 2017
0 answers
529 views

I am trying to use fiddler as a proxy for my java application that uses HTTPS connection. I had enabled proxy settings(HTTPS&Connections) on Fiddler and exported the Fiddler ROOT certificate successfully to my java keystore(cacerts). However when I run my application it is throwing following error:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<br>at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)<br>at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1908)<br>at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:293)<br>at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:287)<br>at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1333)<br>at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154)<br>at sun.security.ssl.Handshaker.processLoop(Handshaker.java:906)<br>at sun.security.ssl.Handshaker.process_record(Handshaker.java:841)<br>at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1035)<br>at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1334)<br>at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1362)<br>at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1346)<br>at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)<br>at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)<br>at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1454)<br>at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1382)<br>at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)<br>at com.teknowmics.jcloudplugin.FiddlerConnectorTest.main(FiddlerConnectorTest.java:36)<br>Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<br>at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)<br>at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)<br>at sun.security.validator.Validator.validate(Validator.java:260)<br>at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)<br>at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)<br>at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)<br>at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1315)<br>... 13 more<br>Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target<br>at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:144)<br>at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:130)<br>at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)<br>at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)<br>... 19 more

Sample code I used:

public static void main(String args[]) throws MalformedURLException, IOException {<br>        System.setProperty("https.proxySet","true");<br>        System.setProperty("https.proxyHost", "127.0.0.1");<br>        System.setProperty("https.proxyPort", "8888");<br>        System.setProperty("javax.net.ssl.trustStore", "d:\\SmartDocs\\installed\\jdk1.8.0Lambda\\jre\\lib\\security\\cacerts");<br>        System.setProperty("javax.net.ssl.trustStorePassword", "changeit");<br>        System.out.println("Trust store:"+System.getProperty("javax.net.ssl.trustStore"));<br>        System.out.println("Trust store pwd:"+System.getProperty("javax.net.ssl.trustStorePassword"));<br>        String https_url = "https://stackoverflow.com/questions/499591/are-https-urls-encrypted";<br>        URL url;<br>        url = new URL(https_url);<br>        HttpsURLConnection con = (HttpsURLConnection) url.openConnection();<br>        if(con!=null){<br>   System.out.println("****** Content of the URL ********");<br>   BufferedReader br =new BufferedReader(new InputStreamReader(con.getInputStream()));<br>   String input;<br>   while ((input = br.readLine()) != null){<br>      System.out.println(input);<br>   }<br>   br.close();<br>       }<br>    }<br>

 

Pratheesh
Top achievements
Rank 1
 asked on 29 Jun 2017
0 answers
231 views

Hi all,

 

I'm trying to an auto responder for any url and contains two words in the body. I am using the following, but it never works :-(

URLWithBody:regex:.* regex:assignRequest.*127

Here i am expecting any body request containing assignRequest and 127 (order doesn't matter) to auto respond but it doesn't work I've also tried other combinations without success

it works if i just use one word, but not two.

Regards

Chris

Chris
Top achievements
Rank 1
 asked on 28 Jun 2017
0 answers
339 views

I know it uses Jscript.NET but is there some special context it runs within (and is documented somewhere) that would prevent me from instantiating a Form to input a string, select from a radio button group, etc? Or is a different file supposed to be edited?

When I try to add the following to CustomRules.js in the ScriptEditor, it says "ERROR LINE --> MyForm myform = new MyForm() - The list of attributes does not apply to the current context" when I save the script.

 

Here is the Form class I am trying to use to make a dialog:

import System.Windows.Forms;
import System.ComponentModel;
import System.Drawing;
 
class MyForm extends System.Windows.Forms.Form {  
    // declare variables
    private var label1: Label;
    private var textBox1: TextBox;
    private var button1: Button;
    private var panel1: Panel;
 
    // constructor
    function MyForm() {                        
        //SuspendLayout(); // suspend layout events
        // label, size, and center form
        Text= "Resize Me!";
        ClientSize= new System.Drawing.Size(300,300);
        StartPosition= System.Windows.Forms.FormStartPosition.CenterScreen;
 
        // create a label
        label1= new Label;      
        label1.Location= new Point(10,10);
        label1.Size= new System.Drawing.Size(80,20);
        label1.Name= "label1";
        label1.Text= "Label";
        label1.Anchor= AnchorStyles.Left;
                 
        // create a TextBox
        textBox1 = new TextBox;
        textBox1.Location= new Point(10,30);
        textBox1.Size = new System.Drawing.Size(80,20);
        textBox1.Name= "textBox1";
        textBox1.Text = "Hello World";
        textBox1.Anchor= AnchorStyles.Left;                           
 
        // create a Button
        button1= new Button;
        button1.Location= new Point(200,240);
        button1.Size= new System.Drawing.Size(80,20);
        button1.Name= "button1";
        button1.Text= "Button";
        button1.Anchor= AnchorStyles.Right | AnchorStyles.Bottom;
                                               
        // create a Panel
        panel1= new Panel;
        panel1.Location= new Point(0,0);
        panel1.Size= new System.Drawing.Size(300,300);
        panel1.Name= "panel1";
        // resize panel on resize form
        panel1.Anchor= AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
             
        // add controls to the panel
        panel1.Controls.Add(label1); 
        panel1.Controls.Add(textBox1);
        panel1.Controls.Add(button1);
 
        // add panel to form
        this.Controls.Add(panel1);
 
        //ResumeLayout(); // resume layout events
    } // end_constructor
} // end_class
 
 
class Handlers {
 
    ...
 
    static function BeforeTestList(arrSess: Session[]): boolean
    {
        MyForm myform = new MyForm();
        myform.ShowDialog();
         
        return true; // Test should proceed; return false to cancel
    }
}
Ed
Top achievements
Rank 1
 asked on 27 Jun 2017
0 answers
389 views

 

Using the Python requests library, I can do something like this:

<p>session = requests.Session()</p><p>session.post("https://testurl", ..., verify=false)</p>

 

and Fiddler will detect the web request just fine. However, if I use a prepared request like so:

<p>session = requests.Session()</p><p>request = requests.Request("POST", "https://testurl", ...)</p><p>session.prepare_request(request)</p><p>session.send(prepared, verify=false)</p><p></p>

 

the sent web request does not show up in the session list in Fiddler. I've confirmed that the request is getting sent and receiving a response through the Python script, but for some reason it's not showing up in Fiddler. Any ideas? I don't have any filters or rules enabled.

Drew
Top achievements
Rank 1
 asked on 27 Jun 2017
0 answers
108 views

I know Fiddler (which is awesome by the way) can server a certificate upon request from the server; however, I'm trying to debug what type of filters the 3rd party server (we don't have access to it) is trying to request.

In the connect request/response I don't ever see an actual CertificateRequest although I some information about the connect, and that Fiddler handled some items in that TLS handshake, just not about a certificate request from the server for the client...

Is this something just not possible with Fiddler and I need to wireshark this?

Cheers!

WTHNoSpam
Top achievements
Rank 1
 asked on 27 Jun 2017
10 answers
309 views

I'm wondering when FiddlerHook will be released as a signed add-on for Firefox.

Mozilla has announced that in the near future, unsigned add-ons will no longer be alllowed to run.

 

 

 

JF
Top achievements
Rank 1
 answered on 21 Jun 2017
0 answers
233 views
Auto responder can match the request, but not responses with the selected content, just passthrough.
Top achievements
Rank 1
 asked on 21 Jun 2017
1 answer
280 views

I have been unable to set fiddler as the system proxy ever since updating to the Windows 10 "creators update"(Version 1703, build 15063.332). All fields on the LAN settings window are blank, and it won't let me update them. I enter "127.0.0.1" and "8888" and after the advanced settings window closes, clicking "ok" does NOTHING!!! Reinstalling fiddler ALSO does NOTHING!!!!

After one cumulative update of Windows, the problem got worse: 

" 22:17:47:1692 ! WARNING: Port 8888 is already in use (for at least some IP addresses) by 'mobileservice:13340' "

At startup, a dialog asks to reassign fiddler to a different random port. If I decline, the attached error dialog shows up.

Any suggestions?

Chris
Top achievements
Rank 1
 answered on 20 Jun 2017
7 answers
1.2K+ views
When I am trying to capture traffic of my website that deployed over HTTPS protocol along with proxy configuration in my local network, system throw following error. I have tried all possible setting in Tools -> Fiddler Option -> HTTPS and Connection but nothing work:

[Fiddler] The connection to the upstream proxy/gateway failed. Closing Fiddler, changing your system proxy settings, and restarting Fiddler may help. 
System.Exception Upstream Gateway refused requested CONNECT.


Please help me in fixing this problem, as I need to record some performance matrix for my website.
Tsviatko Yovtchev
Telerik team
 answered on 20 Jun 2017
Narrow your results
Selected tags
Tags
+? more
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?