我正在尝试为电报机器人创建网站解析器。确切的代码是:
var link = "https://www.detmir.ru/";
var request = HttpWebRequest.Create(link);
var resp = (HttpWebResponse)request.GetResponse();
string result;
using (var stream = resp.GetResponseStream())
{
using (var reader = new StreamReader(stream, Encoding.GetEncoding(resp.CharacterSet)))
result = reader.ReadToEnd();
}
File.WriteAllText(@"d:\1.txt", result);
结果是一组奇怪的符号:
据我所知 - 编码的主要线索。我尝试使用Encoding.Defult,Encoding.UTF8,结果相同。 但与其他网站一起工作完美。有什么技巧可以解决这个网站的问题吗?
更新
在Google Chrome中,网页的源代码显示正确: Google Chrome webpage source code
答案 0 :(得分:6)
响应的内容是UTF-8,正如站点报告的那样,但它被压缩以提高吞吐量性能。
启用自动解压缩:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
<canvas id="mycanvas" width="100" height="100"></canvas>