在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>
答案 0 :(得分:0)
如果没有完整代码就无法解决您当前的问题,我强烈建议您使用https://github.com/octo-online/robospice,它不仅会为您处理一切,还会添加缓存和其他功能