java - HttpURLConnection 从服务器获取内容长度

标签 java android httpurlconnection

我使用以下连接来恢复下载:

connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setReadTimeout(7000);
connection.setRequestProperty("Range", "bytes=" + localFileSize + "-");

long fileLengthOnServer = connection.getContentLength();
connection.connect();

fileLengthOnServer 的值为 -1。谁能解释一下在什么条件下fileLengthOnServer变成-1。我猜,但不确定 localFileSize 是否与服务器上的相同。请帮忙!

最佳答案

您需要在connection.connect()之后调用long fileLengthOnServer = connection.getContentLength();。如果不先连接到服务器,则无法获取响应 header

关于java - HttpURLConnection 从服务器获取内容长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41612016/

相关文章:

Java短基本类型问题

java - 我想删除 NavigationView 布局上的栏

java - URLConnection 抛出 FileNotFoundException。我如何发现这是由 404 引起的?

java - Android Studio httpURLConnection 应用程序崩溃

java - 在android中获取2D ArrayList内的值?

java - 在 android 中实现推荐技术/应用程序邀请的最佳方式?

android - 警报管理器未激活广播接收器?

java - 使用 FIddler 捕获 Android 应用程序流量

java - 当您更改 xml 文件中的属性时,会调用自定义 View 的哪个构造函数?

android - 已发送 FCM 消息的状态