当前位置:编程学习 > C#/ASP.NET >>

急~~socket下载网页

如题  我能接收到网页信息,但只有http头正常,内容全是乱码。是我接收不对,还是转换编码不对?
网页编码是UTF-8,用UTF-8和ASCII都是乱码。
下面是接收
Byte[] bytesReceived = new Byte[1024];
int bytes = 1;
string page = "";
do
{
      bytes = socket.Receive(bytesReceived, bytesReceived.Length, 0); 
      page += Encoding.ASCII.GetString(bytesReceived, 0, bytes);
}while (bytes > 0);
--------------------编程问答-------------------- 试试:
page += Encoding.Default.GetString(bytesReceived, 0, bytes);  --------------------编程问答-------------------- 还是返回
HTTP/1.1 200 OK
X-Powered-By: PipeBoost/2.4
Date: Tue, 15 Apr 2008 17:49:19 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: SBO
X-Powered-By: ASP.NET
Content-Type: text/html; charset=utf-8
Cache-Control: private
X-AspNet-Version: 2.0.50727
Content-Encoding: gzip
Content-Length: 623

?

--------------------编程问答-------------------- 就下www.163.com 都不行  www.baidu.com可以 --------------------编程问答-------------------- 使用判断charset = "***"
utf-8 使用 默认
其他的使用System.Text.Encoding.GetEncoding("utf-8")来转换格式

163应该是gbk的 
所以会出错.. --------------------编程问答--------------------  你肯定不懂这行是什么意思。
Content-Encoding: gzip 

你得到的信息是经过压缩过的,表示你发送请求的时候告诉服务器你可以接受压缩过的内容。

你要改发送代码。 --------------------编程问答-------------------- 没有想到.net 2.0里面竟然有一个gzip的stream,你有福了,用GZipStream把它读出来就好了。 --------------------编程问答-------------------- webclient  应该就可以,

下载网页和下载文件没有本质区别.
--------------------编程问答-------------------- 不同的网站是不一样的
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,