Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java与在浏览器中使用Web内容不同_Java_Url_Bufferedreader_Freebase - Fatal编程技术网

使用Java与在浏览器中使用Web内容不同

使用Java与在浏览器中使用Web内容不同,java,url,bufferedreader,freebase,Java,Url,Bufferedreader,Freebase,我在从web读取BufferedReader时遇到了奇怪的问题 浏览器中的此内容与粘贴的Java代码中的内容不同。 在使用Java first elements获取的内容中,结果在浏览器中为空,而不是 我的代码: public static void main(String[] args) { try { String url = "https://api.freebase.com/api/service/mqlread?queries={\"q1\":{\"quer

我在从web读取BufferedReader时遇到了奇怪的问题

浏览器中的此内容与粘贴的Java代码中的内容不同。 在使用Java first elements获取的内容中,结果在浏览器中为空,而不是

我的代码:

public static void main(String[] args) {

    try {

        String url = "https://api.freebase.com/api/service/mqlread?queries={\"q1\":{\"query\":[{\"name\":\"Pulp Fiction\",\"*\":null,\"type\":\"/film/film\"}]},\"q3\":{\"query\":[{\"name\":\"Portal\",\"*\":null,\"type\":\"/cvg/computer_videogame\"}]}}";

        URL u = new URL(url);
        System.out.println(u.toString());
        URLConnection urlConn = u.openConnection();
        InputStreamReader is = new InputStreamReader(urlConn.getInputStream());
        BufferedReader br = new BufferedReader(is);
        String line = null;
        String data = "";

        while ((line = br.readLine()) != null) {
            data += line + "\n";
        }
        br.close();

        System.out.println(data);
    } catch (Exception ex) {
        System.err.println(ex);
    }
}

编辑:啊。我明白了。URL中没有空格字符。只需将它们替换为%20。

可能该站点处理不同的用户代理的方式不同?您确定URL完全相同吗?我打赌他们正在为视频编写JavaScript-除非您运行JS解释器(或者可以模拟JS正在执行的完全相同的调用),否则您将无法看到任何JS生成的内容。