httpUrlConnextion.getContentLength返回不正确的值

时间:2015-07-23 01:52:54

标签: java android json url httpurlconnection

HttpURLConnection connection =(HttpURLConnection)blogFeedUrl.openConnection();
            connection.connect();
                int contentLength = connection.getContentLength();

所以我有以下两行代码:

URL blogFeedUrl = new URL("http://blog.teamtreehouse.com/api/get_recent_summary/?count=2");

一切正常,contentLength得到可接受的价值。 但是时间:

URL blogFeedUrl = new URL("http://raja12.esy.es/api/get_recent_summary/?count=2");

getContentLength返回-1并且它不起作用。 问题是这两个网址是相似的(你可以检查)。这太令人困惑了! 谢谢你!

2 个答案:

答案 0 :(得分:1)

每台服务器的标头不同。 http://blog.teamtreehouse.com/api/get_recent_summary/?count=2返回内容长度,但http://raja12.esy.es/api/get_recent_summary/?count=2标头不包含内容长度标头。

如果您在浏览器中按F12,则可以看到标题,转到网络标签并运行请求。您将看到2个操作 - 您的获取和图标获取。检查你的获取标题。

假设您可以更改服务器的设置,或者如果小于0则忽略内容长度标题

答案 1 :(得分:0)

从此Javadoc开始,内容长度可能会大于Integer.MAX_VALUE(65535)。

您可以尝试使用getContentLengthLong()来查看结果吗?