我正在请求使用以下代码抽动api

    URL url = new URL("https://api.twitch.tv/kraken/streams/?channel=" + channelID)
    connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("GET");
    connection.addRequestProperty("Accept", "application/vnd.twitchtv.v5+json");
    connection.addRequestProperty("Client-ID", clientID);

    connection.setUseCaches(false);
    connection.setDoInput(true);
    InputStream inputStream = connection.getInputStream();
    BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
    String line;
    StringBuilder response = new StringBuilder();
    while ((line = br.readLine()) != null) {
        response.append(line);
        response.append("\r");
    }
    br.close();
    return response.toString();

这会在Windows上获得正确的响应,但是当我在Raspberry PI上运行它时,它会得到400响应。我发现了similar question on Stack Overflow,我尝试使用此代码设置代理设置
    System.setProperty("java.net.useSystemProxies", "true");

但是,这未能解决该请求,是什么原因造成的?

最佳答案

万一将来有人遇到这个问题,我升级到Java 11并使用ojita实现了它,我完全不知道为什么可以解决此问题,但确实可以。

关于java - HTTPUrlConnection对于Linux返回400,但可在Windows上使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59883828/

10-11 22:16
查看更多