.NET 4.x Запросы с включенным "Фидлером" и без него - C#
Формулировка задачи:
Добрый день, у меня появился, очень странный баг.
Пишу парсер для сайта с протоколом https на основе HttpWebRequest. Сегодня заметил следующую особенность:
если Fiddler запущен, то запросы (GET, POST) посылаются без проблем, а если же закрыть Fiddler и делать запросы, то они проходить не будут.
Может быть, что проблема с сертификатом? Так как протокол https, и я его в Fiddler'е получал. Fidler может добавлять заголовки, которое я программно не добавил? Что сделать, что бы парсер работал c не включенным Fiddler'ом? Привожу код, для отправки GET-запроса:HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url); myHttpWebRequest.Method = "GET"; myHttpWebRequest.Headers.Add("Upgrade-Insecure-Requests", "1"); myHttpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 OPR/41.0.2353.56"; myHttpWebRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"; myHttpWebRequest.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate, lzma, sdch, br"); myHttpWebRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; myHttpWebRequest.Headers.Add(HttpRequestHeader.AcceptLanguage, "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"); if (cookies != null) { myHttpWebRequest.Headers.Add(HttpRequestHeader.Cookie, cookies); } HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Решение задачи: «.NET 4.x Запросы с включенным "Фидлером" и без него»
textual
Листинг программы
var request = new HttpRequest(); request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 OPR/41.0.2353.56"; request.Cookies = new CookieDictionary(); var response = request.Get(url).ToString();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д