当前位置:首页 > C#

webclient 与 Accept-Encoding: gzip,deflate 乱码问题

happyfhb13年前 (2013-11-27)C#2342
摘要: 前面一片Blog内容是说用程序模仿浏览器来请求页面。 之前在调试的时候,发现请求正常,但是请求结果是乱码。 尝试了好几种编码的方式,都解决不了。 问题出在我那段Cookie的参数上面了。一个个试,终于发现问题出现在这行上面: getMethod.setRequestHeader(&quo…

 前面一片Blog内容是说用程序模仿浏览器来请求页面。

之前在调试的时候,发现请求正常,但是请求结果是乱码。

尝试了好几种编码的方式,都解决不了。

问题出在我那段Cookie的参数上面了。一个个试,终于发现问题出现在这行上面:


去掉这行,一切就正常了!

Google了一下,发现问题出在gzip上面。

下面是一个普通的HTTP请求信息:
600f4de0-5b20-3f97-ac6c-56d675d4c102.gif
为什么用浏览器可以正常浏览,而我用程序模仿就不行呢?

答案在这里:

引用
gzip是一种数据格式
默认且目前仅使用deflate算法压缩data部分,此法用于压缩传输
如果服务器支持Gzip,那么客户端必须要IE5.5以上!

数据返回给客户端时候已经被gzip压缩了,只是IE可以自动解压,而你的程序里面没有自动解压而已……

同样道理,你可以弄个解压算法来把乱码的数据解压,即可得到正常的HTML返回结果。

扫描二维码推送至手机访问。

版权声明:本文由海海日记-冯海滨博客发布,如需转载请注明出处。

本文链接:http://www.fenghaibin.com/?id=1131

“webclient 与 Accept-Encoding: gzip,deflate 乱码问题” 的相关文章

vb.net 随机函数 random 用法

VB.net 的写法dim rand as new random()i=rand.next(1,100)表示伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备。命名空间:System程序集:mscorlib(在 mscorlib.dll 中)伪随机数是以相同的概率从一组有限的数字中选…

vb.net 多线程写法

注意 只能调用 不带参数的 sub 如果调用不同类的sub需要定义调用的sub是shared 是共享的 才可以的。相关语法Imports SystemImports System.Threading  '导入系统进程 Public Class Form1 &n…

IIS_WPG用户组

IIS_WPG用户组在安装asp.net web应用程序时,发现文件夹的用户权限总设置不对,结果导致读写access数据库文件出错。仔细研究了一下,发现必须要给IIS_WPG用户组足够的权限,程序才能正常运行。IIS_WPG用户组是做什么的?为了管理的方便,在安装 IIS 6 时创建了 IIS_WP…

传智播客.Net精品就业班培训专区目录

[传智播客.Net视频]第1季C#编程基础[传智播客.Net视频]第2季C#面向对象基础    [传智播客.Net视频]第3季WinForm基础  [传智播客.Net视频]第4季SQL从入门到提高    [传智播客.Net视频]第5季ADO.Net&…

c#无返回值函数如何调用

 无返回值函数如何调用 事例 定义一个不需要返回值的函数 none()         static void none()//定义一个不需要返回值的函数        {&nbs…

学习心得 数据库连接类的书写规范

一般的规范都是建立3个类文件类1:字段(属性)model类2:方法(函数) dal类3:辅助或者就是 本来可以直接通过dal调用的方法 我在重写一遍 起中转作用 可以使程序更加清晰  bll…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。