HttpWebRequest编程相关问题(5)

之前的段落有下面一段代码:

stringen= oResponse.CharacterSet;
if(en==null||en.Length==0)en="gb2312"
;
if(en.ToLower()=="iso-8859-1")en="gb2312"
;
StreamReaderreader
=newStreamReader(dataStream,Encoding.GetEncoding(en));

其实是判断Response返回的数据是什么编码格式:GBK,UTF-8,Unicode,iso-8858-1?

如果不能获取到编码格式,那么我们在解码时也是错误的。

这点还是同http协议有关,也可以说是同web容器本身的输出有关,在这个基础上还有一个点值得提一下:

Content-Encoding: gzip
Transfer-Encoding: chunked

这也是同压缩解码有关,虽然同上面的说的不是一回事。

写本文的另外一点的主要方面是之前的代码有这样一句话:

oRequest.UserAgent="NutsSoft.com.cn";

告诉服务器浏览器的软件版本。

大部分的服务器不会检查这个东西,但是总是有BT存在的。比如微软

MSN的网站是检查了浏览器的版本的。好像是根据版本来判断浏览器是否支持javascript

所以上面的一句话只能改成了

oRequest.UserAgent="Mozilla/4.0(compatible;MSIE7.0;NutsSoft.com.cn)";

而这个小小的问题又困扰了我大半天。其实之前也遇到同样的问题,只是这次没有预料到会发生而已。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值