这几天,不知道搞什么东东,搞出来的东西本地OK,异地就NO OK。头都有点晕晕的。今天又来了,先把这个问题留下,虽然解决了,但是还是百思不得其解。
采用httpclient 3.1 对某个网站会员进行post提交。这时,当然要提交cookie一些信息,其中一个HEADS Accept-Encoding,从它的意思来说(“Accept-Encoding”头:描述浏览器处理文档压缩传输的能力。),对我获取返回网页信息是无多大相关。程序写好,在朋友一台机器上跑,就是获取回来的信息是乱码。当时,我都搞糊涂了。在我的电脑上跑是好好的,拿过来就不行,邪门~没办法,只能在他的机器上调试啦,调试了一天,还是没头绪,这时怀疑他电脑有问题,让他重装,呵呵,还好没说出来。get的方式获取网页信息是正常,post的方式就不正常。还是搞不懂为什么。没办法了,只能瞎搞。随便一删,发现OK。然后慢慢的还原,才发现是Accept-Encoding的问题。不知道为什么?删除掉就OK拉。
postMethod.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
postMethod.setRequestHeader("Accept-Language","zh-cn,zh;q=0.5");
postMethod.setRequestHeader("Accept-Encoding","gzip,deflate");
postMethod.setRequestHeader("Accept-Charset","gb2312,utf-8;q=0.7,*;q=0.7");
postMethod.setRequestHeader("Keep-Alive","300");
postMethod.setRequestHeader("Connection","keep-alive");
postMethod.setRequestHeader("Referer","http://www.hqew.com/Common/Login.aspx");
postMethod.setRequestHeader("Cookie",cookie);