用以下程序去下载
http://www.footballs.cn/soccer/free310/
的网页,怎么换编码950,gb2312,big5都换过,也转来转去,下载下来都是乱码,如何解决?
首先解决问题的全给200分. byte[] buf = new byte[38192];
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create("http://www.footballs.cn/soccer/free310/");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream resStream = response.GetResponseStream();
int count = resStream.Read(buf, 0, buf.Length);
this.textBox1.Text = Encoding.GetEncoding("gb2312").GetString(buf, 0, count);
resStream.Close();
http://www.footballs.cn/soccer/free310/
的网页,怎么换编码950,gb2312,big5都换过,也转来转去,下载下来都是乱码,如何解决?
首先解决问题的全给200分. byte[] buf = new byte[38192];
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create("http://www.footballs.cn/soccer/free310/");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream resStream = response.GetResponseStream();
int count = resStream.Read(buf, 0, buf.Length);
this.textBox1.Text = Encoding.GetEncoding("gb2312").GetString(buf, 0, count);
resStream.Close();
解决方案 »
- context.Response.TransmitFile(path)
- C# 利用Schema解析指定的xml
- 软件安装成功,在输入软件注册码后出现Unable to load dll "SQLite.interop.dll"如何解决
- 如何用C#代码将工作薄模板中的单个工作表
- 请问怎把代码写在ASPX里?
- 关于。net操作GIS的问题
- 下载文件名出现乱码
- 请问EventLog.CreateEventSource的作用是什么,难道不是创建一个日志文件吗?扩展名是?TKS
- 序列化 与反序列化 不懂愕
- WinForm KeyDown事件怎么记录2个键
- 如何获取 驱动器信息?
- 发布系统支持多站点管理,多站点管理怎么实现??
可以用浏览器打开,没什么问题.
WebRequest下载下来就是乱码了.上面那段代码怎么改才不会是乱码?
http://www.linkwww.com/article/view.asp?id=220
相关解决方法:
http://feralboy.com/log/archives/000420/
http://www.codeproject.com/aspnet/CompressibleHTTP20.asp
以上是我运行的结果显示!
如把网址改为别的网站,可以显示页面源代码,但不全。
http://www.footballs.cn/soccer/free310其实为http://www.footballs.cn/soccer/free310/index.asp,无法看到其真正源代码
所以具体编码格式就不得而知了。
{
Debug.Assert(null != Source);
Source.Seek(0, SeekOrigin.Begin);
MemoryStream objMem = new MemoryStream();
GZipOutputStream objGzip = new GZipOutputStream(objMem);
const int BUFFER_SIZE = 1024 * 10;
byte[] arrBuffer = new byte[BUFFER_SIZE];
int nGetedCount = 0;
do
{
nGetedCount = Source.Read(arrBuffer, 0, BUFFER_SIZE);
objGzip.Write(arrBuffer, 0, nGetedCount);
} while(nGetedCount>0);
objGzip.Finish();
byte[] arrResult = objMem.ToArray();
objGzip.Close(); //压缩完成后,输出流就会被关闭
objGzip = null;
objMem.Close();
objMem = null;
return arrResult;
}or NET 2.0 里面有个 System.IO.Compression