httpwebrequest模拟登陆 显示乱码
来源:互联网 发布:少儿 编程 编辑:程序博客网 时间:2024/04/29 08:16
[原因]
在使用httpwebrequest模拟登陆实现时,通过抓取网络数据包,设置http header,”Accept-Encoding” = “gzip,deflate” ,发现在服务端返回的网页显示乱码!开始以为是编码问题,再查找和调试以后发现编码设置都没有问题。so google!
[原来如此]
普通浏览器访问网页,之所以添加:”Accept-Encoding” = “gzip,deflate”
那是因为,浏览器对于从服务器中返回的对应的gzip压缩的网页,会自动解压缩,所以,其request的时候,添加对应的头,表明自己接受压缩后的数据。
而此代码中,如果也添加此头信息,结果就是,返回的压缩后的数据,没有解码,而将压缩后的数据当做普通的html文本来处理,当前显示出来的内容,是乱码了。
[解决办法]
知道问题出在哪之后,就很容易解决了,两种方式:
1.不要设置Accept-Encoding的Header
//req.Headers.Add(“Accept-Encoding”, “gzip,deflate”);
2.设置Accept-Encoding的Header,同时设置对应的自动解压缩的模式
req.Headers[“Accept-Encoding”] = “gzip,deflate”;
req.AutomaticDecompression = DecompressionMethods.GZip;
具体采用哪种方法,自己根据需要选择。
0 0
- httpwebrequest模拟登陆 显示乱码
- HttpWebrequest来模拟登陆的全过程
- 使用C#的HttpWebRequest模拟登陆网站
- 软件制作:模拟登陆之HttpWebRequest
- HttpWebRequest模拟登陆(附带验证码)
- 使用C#的HttpWebRequest模拟登陆网站
- 使用C#的HttpWebRequest模拟登陆网站
- C# 利用HttpWebRequest模拟登陆获取数据设置Accept-Encoding为gzip,deflate后返回的网页是乱码处理
- HttpWebRequest模拟POST提交防止中文乱码
- c# 使用 HttpWebRequest模拟登陆(附带验证码)
- 用 c# 使用HttpWebRequest模拟登陆(带验证码)
- 使用C#的HttpWebRequest模拟登陆访问人人网
- c# 使用 HttpWebRequest模拟登陆(附带验证码)
- C#使用HttpWebRequest模拟登陆访问人人网
- 使用C#的HttpWebRequest模拟登陆访问人人网
- c# 使用 HttpWebRequest模拟登陆(附带验证码)
- 使用C#的HttpWebRequest模拟登陆访问人人网
- c# 使用 HttpWebRequest模拟登陆(附带验证码)
- 有哪些方法可以将PPT转换成PDF格式
- Spring的ApplicationContext加载Property文件
- 通过wifi连接手机进行调试
- HttpClient的post方法
- python linux 调试
- httpwebrequest模拟登陆 显示乱码
- wifi定位查询api
- Socket编程(不限Linux)
- Android清单文件属性大全
- DNS使用TCP与UDP
- java HttpServer构建http服务器
- Android最佳性能实践(一)——合理管理内存
- mysql-utilities工具体验
- 百度POI查询api