我有这个为ex: Link
此代码:
const String nick = "Alex";
const String log = "http://demonscity.combats.com/zayavka.pl?logs=";
foreach (DateTime cd in dateRange)
{
string str = log + String.Format("{0:MM_dd_yy}", cd.Date) + "&filter=" + nick;
String htmlCode = wc.DownloadString(str);
}
返回一些东西....“<\ b \ 0 \ 0 \ 0 \ 0 \ 0 \0я•XYsЫЦ~зЇёѕ™d)bг.тBҐ$ЪRЖ'&lt;2УN&amp;сh@р'”\ f \ 0J --_Фџђ§¤нt|г6ќѕУЄђ0'IQtТґcμо№X(jі-Щ/Ђі|?克`yҐ¶ц“
其他链接正常。 我认为问题在于代码页,我该如何解决?或者是服务器问题?
答案 0 :(得分:7)
问题是响应是GZip压缩的(响应有Content-Encoding: gzip
标头)。您需要首先解压缩它,然后您才能阅读它:
public class StackOverflow_6660689
{
public static void Test()
{
WebClient wc = new WebClient();
Encoding encoding = Encoding.GetEncoding("windows-1251");
byte[] data = wc.DownloadData("http://demonscity.combats.com/zayavka.pl?logs=08_07_11&filter=Alex");
GZipStream gzip = new GZipStream(new MemoryStream(data), CompressionMode.Decompress);
MemoryStream decompressed = new MemoryStream();
gzip.CopyTo(decompressed);
string str = encoding.GetString(decompressed.GetBuffer(), 0, (int)decompressed.Length);
Console.WriteLine(str);
}
}
答案 1 :(得分:0)
我认为它返回gzip格式的结果,除非客户明确接受格式,否则它不应该。