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,但它不起作用。 问题是这两个网址相似(您可以检查)。太困惑了! 谢谢!
最佳答案
来自每个服务器的 header 不同。 http://blog.teamtreehouse.com/api/get_recent_summary/?count=2返回内容长度但 http://raja12.esy.es/api/get_recent_summary/?count=2 header 不包含内容长度 header 。
如果您在浏览器中按 F12,转到“网络”选项卡并运行请求,您可以看到标题。您将看到 2 个操作 - 您的获取和图标获取。检查您获取的 header 。
假设你可以改变服务器的设置或者忽略小于0的内容长度头
关于java - httpUrlConnextion.getContentLength 返回不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31576914/