【发布时间】:2019-06-02 20:10:55
【问题描述】:
我的应用程序是asp.net 应用程序。为了让它变得非常简单,我有one.aspx,它只是写了你好。这在URL 中执行时效果很好。
现在我有two.aspx 并有以下代码:
string downloadurl = String.Format(@"http://{0}", rawUrl.Authority + "1.aspx");
using (var webClient = new System.Net.WebClient())
{
webClient.Encoding = System.Text.Encoding.ASCII;
webClient.Headers.Add("Content-Type", "text/html; charset=ISO-8859-1");
result = webClient.DownloadString(downloadurl);
}
contentpage.InnerHtml = result;
代码实质上是以html 格式下载1.aspx 输出。
这是我得到错误的地方。结果是一组特殊字符,而不是输出 Hello。我尝试了UTF-8 和ASCII,但似乎没有任何效果。
输出
"\u001f‹\b\0\0\0\0\0\u0004\0\u008dQMo‚@\u0010½7é\u007fØì\u000fp\u0001ÓX\u0012h\u0003tK=P\"\u0010´^\f” ]Ùò± ‹Â¿\u0017Ô\u0003¦\u0017ç2y3ïeÞÌh”\u001f\nP\u0010'òD‡\u0015o\u0004\u0004ѯ`¼Ôá\f…ŒœV-iF
【问题讨论】:
-
为什么将编码设置为
Encoding.ASCII?下载网页时设置标题是没有用的(Latin-1?)。在此处阅读注释:Kanji characters from WebClient html different from actual Kanji in website -
downloadurl的确切值是多少?请不要猜测,请查看Watch window。