我写了一个下载网页的程序。它适用于大多数网页,但我发现有些页面不起作用。
这些页面包含 0x00 个字符。
在这个字符之前,我可以阅读页面内容,但不能阅读之后的内容。
我使用这部分代码来读取响应:
IAsyncResult ar = null;
HttpWebResponse resp = null;
Stream responseStream = null;
String content = null;
...
resp = (HttpWebResponse)req.EndGetResponse(ar);
responseStream = resp.GetResponseStream();
StreamReader sr = new StreamReader(responseStream, Encoding.UTF8);
content = sr.ReadToEnd();
在此示例中,我使用异步请求,但我尝试使用同步请求,但我遇到了同样的问题。
我也尝试了同样的结果:
HttpWebResponse resp = null;
Stream responseStream = null;
String content = new String();
...
responseStream = resp.GetResponseStream();
byte[] buffer = new byte[4096];
int bytesRead = 1;
while (bytesRead > 0)
{
bytesRead = responseStream.Read(buffer, 0, 4096);
content += Encoding.UTF8.GetString(buffer, 0, bytesRead);
}
例如,此网址出现问题http://www.daz3d.com/i/search/searchsub?sstring=ps_tx1662b&_m=dps_tx1662b
感谢您的回复
尤尤苏