Linux mac上的Java URLConnection

时间:2013-11-19 01:46:51

标签: java linux urlconnection

我有以下代码

URL url = new URL("http://internalsite");



URLConnection conn = url.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

    String inputLine;
            System.out.println(conn);

当我打开这个窗口时,它工作正常 但是当我在Mac / Linux中打开它时出现以下错误

java.io.IOException: Server returned HTTP response code: 401 for URL: http://internalsite
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1459)

知道如何让它在linux / Mac上运行吗?

由于

2 个答案:

答案 0 :(得分:0)

问题可能是在Windows上,您使用Windows登录自动对站点进行身份验证(我不知道这是如何工作的),但在Linux或Mac上,您必须自己执行此操作,至少在默认情况下是这样。

可能可以让您的公司服务台设置您的Linux或Mac计算机以相同的方式进行身份验证...但当然这只适用于那些特定的计算机。可能需要一个更通用的解决方案。

答案 1 :(得分:0)

我使用了BasicAuthenticator

class BasicAuthenticator扩展了Authenticator {

private  BasicAuthenticator() {
    // TODO Auto-generated constructor stub
}
public static BasicAuthenticator THIS = new BasicAuthenticator();

public static Authenticator getAutheticator(){
    return THIS;
}
  final static String USERNAME = "";
  final static String PASSWORD = "";

  @Override
  public PasswordAuthentication getPasswordAuthentication() {

    return new PasswordAuthentication(USERNAME, PASSWORD.toCharArray());
  }

}