Fiddler not capturing traffic when using OpenEdge.Net.Http

Posted by tbergman on 04-May-2016 16:51

For most of my HTTP needs, I usually use the .Net WebClient or HttpClient. I decided to try out the OpenEdge classes in 11.6 to see how they work.

I was able get things working but while doing some testing, I noticed that the traffic was not being captured by Fiddler. The requests work so I know that there is traffic.

The same basic traffic using the .Net clients shows up just fine.

Is there a way to enable this?

Thanks,

Tom

All Replies

Posted by Peter Judge on 04-May-2016 19:20

Add the proxy with the ViaProxy() method on the ClientBuilder or RequestBuilder
 

Posted by tbergman on 04-May-2016 20:46

Thanks Peter.
 
That was it. For anyone interested, this line
  oClient = ClientBuilder:Build():Client.
Had to get changed to
oClient = ClientBuilder:Build():ViaProxy('http://127.0.0.1:8888'):Client.
 
I’ll probably have to check for Fiddler running to make this seamless. It’s certainly easier when this happens automatically as with the .Net clients.
 
Tom

Posted by Peter Judge on 05-May-2016 07:12

I had a conversation with a TSE abaout having the http client pick up  and use the –proxyhost and –proxyport parameters off the commain line.
 
If that interests you, please log an idea.
 

Posted by Peter Judge on 05-May-2016 07:12

I’m also interested in 'automatically' – do you have to do /anything/ or does the .NET client use the Windows 'system proxy'?
 

Posted by tbergman on 05-May-2016 07:34

Hi Peter,
 
When you run Fiddler on Windows, it automatically inserts itself as a Proxy in the IE settings. This can be seen in the image below. When you stop Fiddler, it removes itself as a Proxy. The .Net clients use this proxy without me having to do anything at all.
 
I figured out a way to do this using the Progress client but it does require .Net. The code below will automatically detect a proxy and get the Progress client to seamlessly use it. It would be nice if there were a pure Progress way to do this. This works with or without Fiddler running.. oUri in the fragment below is a Progress Uri object and has already been set to the destination host.
 
This works in the sample I’m working with but may not work in any other test or environment. IOW, it’s barely tested, YMMV.
 
Tom
 
oClient =
  ClientBuilder
    :Build()
    :ViaProxy(
  System.Net.WebRequest:GetSystemWebProxy()
      :GetProxy(NEW System.Uri(oUri:BaseUri))
      :AbsoluteUri)
    :Client.
 
/cfs-file/__key/communityserver-discussions-components-files/19/2744.image001.png
 

Posted by Peter Judge on 05-May-2016 07:48

I think there's value in this – can you log a bug or enter an idea for this?
 
It would (obvs) not work on non-Windows platforms; do you know what approaches could be used in (say) Linux?
 
 

Posted by tbergman on 05-May-2016 08:30

Hi Peter,
 
I have no idea what is available or would be required for Linux.
 
I’d love to log an Idea but every time I click on the “Create New Post” link, it only allows me to choose to create an idea for the first 5 groups, none of which is OpenEdge. I could post an idea for BPM but this somehow doesn’t seem right. J
 
It’s the link on this page community.progress.com/.../
 
 
Tom
 

This thread is closed