Additional information: 'cp1251' is not a supported encoding name - C#
Формулировка задачи:
using System.IO;
using System.Net;
using System.Text;
namespace Testparser
{
class HtmlDownloadHelper
{
/// <summary>
/// Скачать страницу
/// </summary>
/// <param name="uri">страница сайта</param>
/// <returns>исходный код</returns>
public static string DownloadHtml(string uri)
{
var req = (HttpWebRequest)WebRequest.Create(uri);
var resp = (HttpWebResponse)req.GetResponse();
//if (resp.CharacterSet == "cp1251")
// resp.CharacterSet = "windows-1251";
using (var stream = new StreamReader(stream: resp.GetResponseStream(), encoding: Encoding.GetEncoding(resp.CharacterSet)))
{
var html = stream.ReadToEnd();
return html;
}
}
}
}Решение задачи: «Additional information: 'cp1251' is not a supported encoding name»
textual
Листинг программы
using (var resp = req.GetResponse())
{
var encoding = resp.CharacterSet == "cp1251" ? Encoding.GetEncoding(1251) : Encoding.UTF8;
using (var stream = new StreamReader(resp.GetResponseStream(), encoding))
{
return stream.ReadToEnd();
}
}