getContentLength() 返回 -1 但预期值为 127

getContentLength() returning -1 but value expected was 127

以下 Java 程序的输出是什么?

import java.net.*;
    class networking 
    {
        public static void main(String[] args) throws Exception 
        {
            URL obj = new URL("https://www.sanfoundry.com/javamcq");
            URLConnection obj1 = obj.openConnection();
            int len = obj1.getContentLength();
            System.out.print(len);
        }
    }

注意:主机 URL 的内容长度为 127。

一) 127

b) 126

c) 运行时错误

d) 编译错误

我发现这是一个关于 sanfoundry 的问题。 32,这里是link对吧:

https://www.sanfoundry.com/java-questions-answers-freshers-experienced/

所以根据网站的正确答案应该是a) 127,这个答案当然出乎我的意料。所以,我 运行 在 IDE 上的代码得到的输出是 -1,这更加 st运行ge,现在我很困惑。

请解释一下这些方法的实际作用和错误之处。

-1 如果服务器没有发回任何内容长度,则返回。我在浏览器中打开 https://www.sanfoundry.com/javamcq 并返回 404。我检查了开发人员工具的网络选项卡以检查 headers,content-length header 不包括在内。