2

我有这种情况。我有在 CentOS 中运行的服务器(CentOS 在我的虚拟机 VMware 中)。在主机(win7)中,我有需要在 CentOS 上创建 GET 方法到服务器的 java 程序。我已经管理了主机和虚拟机之间的连接,并且事情可以通过 CentOS 中的浏览器和 java 程序以及主机(win7)中的浏览器运行,但不能从我需要的主机中的 java 程序运行。如果我关闭虚拟机,我仍然会收到超时异常。我已经在 win7 上关闭了防火墙,但我无法在 CentOS 中关闭它,因为我没有管理员权限。

这是我的 GET 方法的 java 代码(192.168.11.128 是虚拟机的 IP):

private static void getMethod(){
    // Create a method instance.
    GetMethod method = new GetMethod("http://192.168.11.128");

    // Provide custom retry handler is necessary
    method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
            new DefaultHttpMethodRetryHandler(3, false));

    try {
      // Execute the method.
      int statusCode = client.executeMethod(method);

      if (statusCode != HttpStatus.SC_OK) {
        System.err.println("Method failed: " + method.getStatusLine());
      }

      // Read the response body.
      byte[] responseBody = method.getResponseBody();

      // Deal with the response.
      // Use caution: ensure correct character encoding and is not binary data
      System.out.println(new String(responseBody));

    } catch (HttpException e) {
      System.err.println("Fatal protocol violation: " + e.getMessage());
      e.printStackTrace();
    } catch (IOException e) {
      System.err.println("Fatal transport error: " + e.getMessage());
      e.printStackTrace();
    } finally {
      // Release the connection.
      method.releaseConnection();
    }
}

谢谢你的帮助!

4

0 回答 0