I am experiencing what I consider to be a weird problem that I am hoping someone can help me troubleshoot.
Several years ago I wrote a C#, .Net program that performs some standard HTTPS HttpWebRequests to a website and extracts information from the “webpages” that is returned from the requests. The program has a scheduler that makes these requests every five minutes. The program has been running successfully 24 hours per day for several years.
However, starting a few days ago, the https requests are now timing out and no data is being returned even though the url’s are still valid and are able to be accessed manually through a browser. Nothing whatsoever was changed in the client program doing the https requests.
In order to try to troubleshoot this problem I cranked up a program named “Charles” (similar to Fiddler). Charles uses a “man in the middle approach” to allow for decrypting the https requests. The weird thing is that when Charles is running and is set to intercept the https requests, the requests work properly and data is returned. However, as soon as Charles is shutdown or its SSL proxying is tuned off the https requests fail.
I tried the same exercise with Fiddler, but the requests do not succeed when Fiddler is running. They only work when Charles is running.
I am totally stumped at this point and would welcome any suggestions as to how to resolve this.
Thanks to Eric Lawrence of Microsoft (the author of Fiddler) this issue is resolved. Eric says: