Установив client.Headers["Accept-Encoding"] = "gzip";
, вы просите сервер отправить сжатый ответ. Тем не менее, вы не распаковываете это. Это приводит к неправильному ответу.
Согласно { ссылка }, вы можете WebClient
автоматически распаковать ответы, изменив HttpWebRequest
, который он создает:
class MyWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
{
var request = (HttpWebRequest) base.GetWebRequest(address);
request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
return request;
}
}
string url = "http://www.tsetmc.com/Loader.aspx?ParTree=15131F";
WebClient client = new MyWebClient();
// don't set the Accept-Encoding header here; it will be done automatically
string pageSource = client.DownloadString(url);