I'm working on bunch of projects, all on .net Core 2.0 / Standard 2.0, that require making Web Services calls. WS calls are made through proxy generated from a Connected Service reference. I've been working on these projects for an year+ and have been using Fiddler regularly. I'm on Windows 10, VS 2017, latest version of Fiddler 5.0.20181.14850.
I don't know exactly what changed recently (there were OS updates, VS updates, etc). But, WS traffic is no longer captured in Fiddler. Anything else to HTTP/HTTPs endpoints are captured. Even if I make a call to the WS endpoints with just a HTTP WebClient class, from code, it shows up in Fiddler. This is true to .NET Core Web API projects, Console app projects and XUnit Test classes.
I might be able to resolve this by pointing the code to the Fiddler proxy. But, given that this has worked for so long, I want to understand what happened and possible resolve it without going the proxy path.
Any ideas would be appreciated.
Thanks
2 Answers, 1 is accepted
Sameera, just for clarification - have you tried running it in a .NET Framework environment to see that Fiddler is capturing the traffic or you think that is going to happen? From the issue you've sent I also understand that there is some kind of problem with .NET Core going though proxy, but from what I understand is for setting custom proxy. It should be working fine with the default one. In the last messages there some hint that may help us. It seems that WCF call are using WinHTTP, not WinINET. Fiddler is setting itself as a proxy for WinINET. Can you try setting the WinHTTP proxy manually in order to point to Fiddler and try again? The command you should use is "netsh winhttp set proxy 127.0.0.1:8888". Also do not forget to clear the proxy back when you turn off Fiddler - "netsh winhttp reset proxy". You can check the current proxy settings by "netsh winhttp show proxy".
Martin, do you have any AutoResponder rules and/or Filters? Also, if you go to Help -> Troubleshoot do more sessions show up in the sessions list when you try to navigate page in Edge or when you generate traffic with your app?
Regards,
Alexander
Progress Telerik
Hi Alexander,
I have no filters and no AutoResponse set. Help->Troubleshoot does not help.
I can reproduce the same behaviour on a second computer! both have Windows 10 Build 16299
[quote]Alexander said:Hello,
Sameera, just for clarification - have you tried running it in a .NET Framework environment to see that Fiddler is capturing the traffic or you think that is going to happen?
[/quote]
Yes this is what I mentioned here
[quote]
And sure enough, I can use the same .net standard library (which has the actual WS calls), in a .net full framework app with the same code and have that show up in Fiddler without any proxy configuration.
[/quote]
Same code, running on Full .NET Framework will log their requests in Fiddler.
[quote] It seems that WCF call are using WinHTTP, not WinINET. Fiddler is setting itself as a proxy for WinINET. Can you try setting the WinHTTP proxy manually in order to point to Fiddler and try again? The command you should use is "netsh winhttp set proxy 127.0.0.1:8888". Also do not forget to clear the proxy back when you turn off Fiddler - "netsh winhttp reset proxy". You can check the current proxy settings by "netsh winhttp show proxy".
[/quote]
You were absolutely right! Doing this worked. Any chance that this will be included in a Fiddler release?
Martin, the fact you can reproduce it on second machine with the same OS version is interesting. We are going to try to reproduce it on the Fall Creators Update and will update you once I have any results.
Sameera, I'm glad I was able to help. About your feature request - you can create an idea in our aha.io portal, thus enabling the other users to vote for it, which would increase its priority and the chance of it actually being added to Fiddler.
Regards,
Alexander
Progress Telerik
We tested Fiddler on a machine with Fall Creators Update and it is seems to be working fine. 1 thing that may be causing the problem - did you checked if Edge is still exempted? You can do that using the WinConfig tool, which is the left-most tool in the toolbar. Also is you app running in AppContainer (Metro-style app, Immersive apps, UWP)? If this is the case then you need to exempt it too.
Regards,
Alexander
Progress Telerik
Hi Alexander,
I am using fiddler version -v5.0.20182.28034 for .NET 4.5 and am unable to capture Https services in it with Microsoft visual studio Enterprise 2017 with a ASP DOT NET core project. Can you help me with this .I have tried all the above mentioned solutions. Also I am getting this-:15:17:30:1500 [Fiddler] No HTTPS request was received from (chrome:9580) new client socket, port 61970 in the logs.
Please, try these commands:
The command you should use is "netsh winhttp set proxy 127.0.0.1:8888". Also do not forget to clear the proxy back when you turn off Fiddler - "netsh winhttp reset proxy". You can check the current proxy settings by "netsh winhttp show proxy"
Regards,
Simeon
Progress Telerik
Sameera, there are 2 major possibilities this to happen - either your WS calls does not go through Fiddler or they are filtered by Fiddler. The second one is easier to diagnose - go to Help -> Troubleshoot. This will disable all filters and will show all otherwise filtered traffic with striketrought font.
Martin, your problem seems to be totally different than the one Sameera experiences. Have you tried restarting Fiddler? Also are there any logs in the "Logs" tab?
Regards,
Alexander
Progress Telerik
I should have mentioned that I tried without filters at the start itself.
Anyways, I was unable to get this work by configuring the proxy settings in my C# code to point to Fiddler as well. Digging around, I uncovered the following issue logged in WCF repo:
https://github.com/dotnet/wcf/issues/1592
From the looks of it .net core has an issue going through a proxy. The fix is coming in .net core 2.1.
And sure enough, I can use the same .net standard library (which has the actual WS calls), in a .net full framework app with the same code and have that show up in Fiddler without any proxy configuration. It's just when the host application is on .net core, the problem occurs.
Perhaps, someone else can validate these findings as well?
Hi Alexander,
I have tried to restart and even to reinstall Fiddler with no success.
The log gives me this:
15:39:25:5562 Fiddler Running...
15:39:25:6452 Windows 8+ AppContainer isolation feature detected.
15:39:28:8362 Assembly 'C:\Users\marti\AppData\Local\Programs\Fiddler\CertMaker.dll' was not found. Using default Certificate Generator.
15:39:28:8491 /Fiddler.CertMaker> Using .+ for certificate generation; UseWildcards=True.
Kind regards,
Martin
I have the same issue,
I am using Microsoft.Azure.Mobile.Client. It worked with Fiddler all the time, but suddenly the App returns a bad Request, wehen capturing is active. Also Edge shows no Websites(Error is "Cant connect with the proxy server"), with active capturing, but Chrome does!
The Proxy server Settings are:
use proxy with
http=127.0.0.1:8888;https=127.0.0.1:8888
don't use Proxy for <-loopback>
Best regards,
Martin