2013-05-08 3 views
1

url에 연결하여 입력 스트림을 읽는 중 xml 파일을 읽으려고하는데 오류가 있습니다. "java.io.IOException : 서버가 HTTP 응답을 반환했습니다. 코드 :은 https : URL 401 // .... "xml 읽기 URL에 연결하는 동안 401 오류가 발생했습니다.

내가 인증 자 클래스 여기

를 통해 인증의 경우를 처리하는 코드입니다 : 코드 아래에보십시오

private static InputStream getConnection(String url) { 
     InputStream in = null; 
     try { 

      final String login="[email protected]"; 
      final String password="password"; 

      Authenticator.setDefault(new Authenticator() { 

       @Override 
       protected PasswordAuthentication getPasswordAuthentication() {   
        return new PasswordAuthentication(login, password.toCharArray()); 

       } 
      }); 

      URL myUrl = new URL(url); 


      URLConnection urlConn = myUrl.openConnection(); 
      urlConn.connect(); 
      in = urlConn.getInputStream(); 




     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return in; 
    } 
+0

인증 코드를 사용하여 서버에 자격 증명을 전달하는 방법은 무엇입니까? 서버가 지원하는 인증 유형 (기본/양식 등)을 선택했는지 확실하지 않습니다. – Santosh

답변

1

Source

private static InputStream getConnection(String url) { 
    InputStream in = null; 
    try { 

     final String login="[email protected]"; 
     final String password="password"; 

     Authenticator.setDefault(new Authenticator() { 

      @Override 
      protected PasswordAuthentication getPasswordAuthentication() {   
       return new PasswordAuthentication(login, password.toCharArray()); 

      } 
     }); 

     URL myUrl = new URL(url); 


     URLConnection urlConn = myUrl.openConnection(); 

     urlConn .setDoInput(true); 

     // stuff the Authorization request header 
     byte[] encodedPassword = (login + ":" + password).getBytes(); 
     BASE64Encoder encoder = new BASE64Encoder(); 
     urlConn .setRequestProperty("Authorization", 
         "Basic " + encoder.encode(encodedPassword)); 


     urlConn.connect(); 
     in = urlConn.getInputStream(); 




    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return in; 
} 
+0

동일한 문제, 오류 401, 질문이 필요합니다. 호스트 제어를 통해 URL을 연결하고 인증 할 수 있습니까 ?? –

+0

예 서버에서 제어 됨 ... 내 코드는 서버가 기본 인증을 사용한다고 가정합니다. 그래서 requestProperty를 설정하는 동안'Basic'을 설정하고 사용자 이름과 암호를 –

+0

으로 고쳐 주셔서 감사합니다. rahul 님, 귀하의 답변에 감사드립니다. 나는 그들과 통신 할 것입니다. –

관련 문제