Пытаюсь сделать парсер, проблема в том, что иногда (!!) сайт возвращает закодированную страницу, я так понимаю дело в том, что используется HTTPS
Вопрос в том, как заставить GetHtmlCode() выдавать нормальный html, а не
\u001f�\b\0\0\0\0\0\0\v��r�H�.x�f�\u000e8��6�Z�\u0012�?]
using System.Net;
using System.Text;
class Parser {
public Parser() {
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
}
private string GetHtmlCode(string url) {
using(var webClient = new WebClient()) {
webClient.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.BypassCache);
webClient.Encoding = Encoding.UTF8;
webClient.Headers.Add("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12");
webClient.Headers.Add("Accept", "*/*");
webClient.Headers.Add("Accept-Language", "en-gb,en;q=0.5");
webClient.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
var htmlData = webClient.DownloadData(url);
var htmlCode = Encoding.UTF8.GetString(htmlData);
return htmlCode;
}
}
}