關於idhttp Get跟post返回值無法讀的問題

關於idhttp Get和post返回值無法讀的問題
   最近在學習idhttp.就拿了一個小遊戲練手。試著看能不能寫出登陸來。但是我碰到了一個很奇怪的事情。

我用工具。查看。如果正確登陸後。會返回一段這樣的字符串。
ok:<script type="text/javascript" src="http://bbs.snsfun.com/api/uc.php?time=1331206960&code=8285iPdm%2F3E9AdCQN6070SzN6e9T8Dkkvh6kyYvXTrQTx0DgN0mpCI3%2Fbm5kI1D%2FoyxNdsGkjSekKjBueGc42lsOM%2FUQ2G9jaxw5uH82XXh7wO%2FwWUHOz2LULkP%2BGxGi3ezEFqNvZBL6fK2pXTamWJFsL9V7q8r0t9oC6lFGTk4Vybw" reload="1"></script>

  然後我試著自己寫程序去讀。結果這個字符串我怎麼也讀不出來。但是我看獲取的COOKIES又是正確的。那說明我讀成功了。

PostData:= TStringStream.Create( Format(Const_PostLoginInfo, [edt1.Text,edt2.Text]));
    RespData:= TStringStream.Create('');

    idhtp1.ReadTimeout:= 15000;
    idhtp1.Request.Accept:= 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, */*' ;
    idhtp1.Request.ContentType:= 'application/x-www-form-urlencoded';
    idhtp1.Request.Host:= 'www.snsfun.com';
    idhtp1.Request.Referer:= 'http://www.snsfun.com/wly/';
    idhtp1.Request.UserAgent:= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; 360SE)';
    idhtp1.Request.AcceptEncoding:= 'gzip, deflate';
    idhtp1.Request.Connection := 'Keep-Alive';
   // RetStr :=

    tmpStr := idhtp1.Post('http://www.snsfun.com//user/check.php?ac=login', PostData);
    tmpStr:=UnicodeToAnsi((tmpStr));

代碼如下。我試著用另外一個遊戲。可以讀出來。不知道為什麼。是不是因為返回值是unicode的問題。但是我轉了還是不行。希望高手能指點一下。謝謝了。
   

------解决方案--------------------
 添加以下设置
gethttp.Request.AcceptCharSet := 'GBK,utf-8;q=0.7,*;q=0.3';
gethttp.Request.AcceptEncoding := '';
gethttp.Request.AcceptLanguage := 'zh-CN';

idhtp1.Request.AcceptEncoding:= 'gzip, deflate';
这句你必须去掉(毫无用处)应该就能看到数据了,,不同网站返回数据可能是不同编码,这就需要相应的解码。
有极个别网站硬性返回'gzip, deflate'数据,这就需要你解压缩,再解码。