在unix框上部署java代码时无法打开URL连接

时间:2014-10-24 14:36:21

标签: java unix

下面的代码会打开一个连接http://www.google.com

try {
            long startTime = System.currentTimeMillis();
            URL url = new URL("http://www.google.com");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.connect();

            BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            StringBuilder out = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                out.append(line);
            }

            long endTime = System.currentTimeMillis();

            LOGGER.info(urlName +" response time : " + (endTime - startTime) + " milliseconds");
            if ((endTime - startTime) > 30000) {
                LOGGER.info("********************************** Possible server lag *****************************************");
            }

        } catch (MalformedURLException mue) {
            System.out.println("MalformedURLException");
            System.out.println(mue.getMessage());
            mue.printStackTrace();

        } catch (IOException ioe) {
            System.out.println("IOException");
            System.out.println(ioe.getMessage());
            ioe.printStackTrace();
            System.out.println("url is "+urlName);
            System.out.println("Now exiting");

        } 

当我在Windows上本地运行时,这可以正常工作,但是当我将它部署到unix框时,我会收到401个异常。这向我表明unix盒没有发送从我的本地机器发送的一些凭据。我不认为这是代理问题,因为我在运行上述代码之前设置代理凭据。

我的分析是否正确 - 这是凭证问题?如果是这样,我如何才能发现本地运行的额外详细信息? jvm是否在文件夹/文件中查找这些凭据,这在unix框中是不存在的?

或者我是否需要检查使用Wireshare或类似程序运行程序时发送的流量?

0 个答案:

没有答案