如何修复在Red Hat Linux上运行的Java应用程序中的连接超时

时间:2019-06-14 09:50:44

标签: java linux http https redhat

我正在尝试在测试Java应用程序中对Confluence进行API调用,但是在Red Hat Linux系统上运行时,连接会挂起。

当我在Windows上运行该应用程序时,它将发出呼叫并做出应有的响应。当我在Red Hat Linux发行版上运行该应用程序时,连接挂起并最终超时。

要进行故障排除,我尝试通过curl命令发出API请求,并且发生了同样的问题。在设置了http_proxy和https_proxy环境变量之后,我再次尝试了make curl请求,这次,它成功了。

我自然认为这是问题所在,因此尝试在代码中执行相同的操作。

        System.setProperty("http.proxyHost", "X.X.X.X");
        System.setProperty("http.proxyPort", "XXXX");

        System.setProperty("https.proxyHost", "X.X.X.X");
        System.setProperty("https.proxyPort", "XXXX");


        URL url = new URL("https://confluence.maerskdev.net/rest/api/content/?title=Parent%20Page&spaceKey=GD&expand=history");
        http = (HttpURLConnection) url.openConnection();
        http.setRequestMethod("GET");
        http.setRequestProperty("Authorization", "Basic " + encodedString);
        http.setRequestProperty("Content-Type", "application/json; charset=UTF-8");

        http.setDoInput(true);
        java.util.Scanner s = new java.util.Scanner(http.getInputStream()).useDelimiter("\\A");
        String result = s.hasNext() ? s.next() : "";
        System.out.println(result);

尽管同时设置了环境变量和代码内,连接仍然挂起。我不知道为什么连接挂起。我希望进行该调用并收到JSON消息。

0 个答案:

没有答案