Android无法像iphone那样解析http响应

时间:2013-07-23 17:22:28

标签: java android http servlets

在Android和iPhone使用相同的web服务时,iPhone可以在android失败的情况下成功解析响应。

登录android说

07-23 17:14:10.121: I/com.android.cashww.terminal.webservice.Webservice(2668): Code:200
07-23 17:14:10.175: I/com.android.cashww.terminal.webservice.Webservice(2668): �_�������?D&M�¶�g���K'��>K�<��
07-23 17:14:10.175: I/com.android.cashww.terminal.webservice.Webservice(2668): �R���CJ���~m�e�c���������Z�%�h;�<F+�������������a�@���GF7R��ۣ�N��Bq�����S��%�=����I,�,Ϲj%mra;��:����+�_��+bO��H4ܣ�>�\�����EC��O-vY\X�F|!�pM�6tò�&��x�M3��i7b�ϷG,�eb!�J������D��`7��D�;[ʯ�.&
07-23 17:14:10.175: I/com.android.cashww.terminal.webservice.Webservice(2668): ����wy�X�7�G|���<9#l<a{d�$j�ۢ!Qn�ǴCׅ[w5�,�x�"�7�qϧ�{d�]3B6f�z�un�����,ŴM-�

但是期待一个xml响应

Android代码:

String cset = EntityUtils.getContentCharSet(entity);
ret = EntityUtils.toString(entity,cset);

还有一件事:我在apache中启用了mod_deflate过滤器

<IfModule mod_deflate.c>
 SetOutputFilter DEFLATE

 SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

 Make proxies work as they should.
 <IfModule mod_headers.c>
 Header append Vary User-Agent
 </IfModule>

1 个答案:

答案 0 :(得分:0)

如果没有完整代码就无法解决您当前的问题,我强烈建议您使用https://github.com/octo-online/robospice,它不仅会为您处理一切,还会添加缓存和其他功能