Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
JavaHTTPS从URL获取JSON_Java_Json_Https - Fatal编程技术网

JavaHTTPS从URL获取JSON

JavaHTTPS从URL获取JSON,java,json,https,Java,Json,Https,我正在尝试接收此url的json:它可以通过浏览器访问,但是,我还没有成功,是否有人可以发布代码来执行此操作?我正在这样尝试: public static String getJSON(String url, int timeout) throws IOException { URL u = new URL(url); HttpURLConnection c = (HttpURLConnection) u.openConnection(); c.setRequestMe

我正在尝试接收此url的json:它可以通过浏览器访问,但是,我还没有成功,是否有人可以发布代码来执行此操作?

我正在这样尝试:

public static String getJSON(String url, int timeout) throws IOException {

    URL u = new URL(url);
    HttpURLConnection c = (HttpURLConnection) u.openConnection();
    c.setRequestMethod("GET");
    c.setRequestProperty("Content-length", "0");
    c.setUseCaches(false);
    c.setAllowUserInteraction(false);
    c.setConnectTimeout(timeout);
    c.setReadTimeout(timeout);
    c.connect();
    int status = c.getResponseCode();

    switch (status) {
        case 200:
        case 201:
            BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
            StringBuilder sb = new StringBuilder();
            String line;
            while ((line = br.readLine()) != null) {
                sb.append(line + "\n");
            }
            br.close();
            return sb.toString();
    }

    return null;
}
    URL u = new URL("https://blockchain.info/de/ticker");
    HttpsURLConnection conn = (HttpsURLConnection) u.openConnection();
    InputStream is = conn.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);

    String inputLine;

    while ((inputLine = br.readLine()) != null) {
        System.out.println(inputLine);
    }

    br.close();
    isr.close();
    is.close();
    conn.disconnect();

对于
https
您应该像这样使用
HttpsUrlConnection

public static String getJSON(String url, int timeout) throws IOException {

    URL u = new URL(url);
    HttpURLConnection c = (HttpURLConnection) u.openConnection();
    c.setRequestMethod("GET");
    c.setRequestProperty("Content-length", "0");
    c.setUseCaches(false);
    c.setAllowUserInteraction(false);
    c.setConnectTimeout(timeout);
    c.setReadTimeout(timeout);
    c.connect();
    int status = c.getResponseCode();

    switch (status) {
        case 200:
        case 201:
            BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
            StringBuilder sb = new StringBuilder();
            String line;
            while ((line = br.readLine()) != null) {
                sb.append(line + "\n");
            }
            br.close();
            return sb.toString();
    }

    return null;
}
    URL u = new URL("https://blockchain.info/de/ticker");
    HttpsURLConnection conn = (HttpsURLConnection) u.openConnection();
    InputStream is = conn.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);

    String inputLine;

    while ((inputLine = br.readLine()) != null) {
        System.out.println(inputLine);
    }

    br.close();
    isr.close();
    is.close();
    conn.disconnect();

问之前你有没有谷歌过?你是怎么收到的?请把密码寄出去。这不是免费的编码服务。你发布代码。