下面的代码会打开一个连接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或类似程序运行程序时发送的流量?