Android 从HttpResponse中删除标头(仅适用于3G连接)

Android 从HttpResponse中删除标头(仅适用于3G连接),android,wifi,httpresponse,3g,Android,Wifi,Httpresponse,3g,我正在实现一个应用程序,它对服务器进行REST调用以获得JSON响应。如果我将这些电话连接到我家的Wi-Fi连接,我会得到没有标题的结果: {"id":"ohig40o45h6c2a5d9rdhsft2v7","module_name":"Users", ...} 但如果我使用手机的3G连接拨打这些电话,我会收到带有所有标题的回复: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://w

我正在实现一个应用程序,它对服务器进行REST调用以获得JSON响应。如果我将这些电话连接到我家的Wi-Fi连接,我会得到没有标题的结果:

{"id":"ohig40o45h6c2a5d9rdhsft2v7","module_name":"Users", ...}
但如果我使用手机的3G连接拨打这些电话,我会收到带有所有标题的回复:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"        
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title></title>
        </head>
        <body>
            <pre xml:space="preserve">
                 {"id":"ohig40o45h6c2a5d9rdhsft2v7","module_name":"Users", ...}
            </pre>
        </body>
     </html>

{“id”:“ohig40o45h6c2a5d9rdhsft2v7”,“模块名称”:“用户”,…}
我想得到正文信息(没有“pre”标签)。有没有简单的方法?为什么我只有在使用3G连接时才能获得报头


谢谢。

我知道这是个老问题,但我遇到了同样的问题,下面是解决方案:

只需在Web服务的开头添加标题,告知响应是JSON。如果您使用的是PHP,以下是示例:

<?
header('Content-type: application/json');

//Your webservice code here
?>


希望能有帮助

这些不是http头,而是html。第一个响应只使用JSON,第二个响应使用html包装JSON。web服务是否由您控制?使用short