HttpWebRequest错误编码判定
本文关键字:编码 错误 HttpWebRequest | 更新日期: 2023-09-27 18:13:16
我正在尝试从站点- http://konungstvo.ru/读取html页面文本,该站点具有utf-8编码。
var request = _requestCreator.Create(uri);
try
{
using (var response = request.GetResponse())
{
if (response.ContentType.Contains("text/html"))
{
using (var reader = new System.IO.StreamReader(response.GetResponseStream()))
{
string responseText = reader.ReadToEnd();
}
但是我得到了'u001f�'b'01V'u0002X'u0002��X�n'u001b�
,等等,尽管代码与其他网站一起工作。
我认为您需要拉丁/西里尔字母的字符编码,可以通过ISO/IEC 8859-5或例如Windows-1251:
var encoding = Encoding.GetEncoding("iso-8859-5");
using (var reader = new System.IO.StreamReader(response.GetResponseStream(), encoding))
在读取响应流时使用此方法会产生一些西里尔字母内容,不幸的是它也不是正确的输出:https://dotnetfiddle.net/x8jnN8。所以,我很抱歉,但这不是你问题的真正答案:/