2013-06-27 2 views
1

URL에서 파일을 다운로드하려고합니다. 서버는 apache httpd를 실행하며 사용자 이름 비밀번호 로그인/인증이 먼저 필요합니다. 그런 다음이 URL을 브라우저에 넣으면이 zip 파일을 다운로드하라는 메시지가 표시됩니다.자바 : URL 요청 인증시 URL에서 파일 다운로드

어떻게하면 Java에서이 작업을 수행 할 수 있습니까? 나는 자바를 배우고 있으며 나는 파이썬 배경에서왔다. 어떤 도움이라도 대단히 감사합니다.

편집 : 서버가 HTTPS 인증에서 실행됩니다.

+0

가 HTTP (기본) 인증 또는 쿠키 기반의 사용자 정의 시스템 (형태)인가? – SLaks

+0

HTTP 기본 대신 HTTPS를 사용합니다. – user1757703

+0

HTTPS는 내가 물어 본 질문과 직각을 이룹니다. 이 두 옵션은 HTTP 또는 HTTPS를 통해 사용할 수 있습니다. (비록 그들이 HTTP와 함께 사용하면 안된다) – SLaks

답변

0

서버가 기본 인증을 사용하는 경우, 당신은 URL에 사용자 이름/암호를 지정하여 자원을 얻을 수 있어야합니다 : 신속하게 브라우저에서 시도 할 수 있도록 http://user:[email protected]/path/filename.ext

브라우저 역시이 기능을 지원.

+0

나는 이것을 시도했지만 작동하지 않았다. 서버는 HTTPS를 사용합니다. – user1757703

1

또는, 당신은 그것에 대해 안전하려면 :

HttpResponse res; 
DefaultHttpClient httpclient = new DefaultHttpClient(); 
String authorizationString = "Basic " + Base64.encodeToString(("admin" + ":" + "").getBytes(), Base64.NO_WRAP); //this line is diffe 
authorizationString.replace("\n", ""); 
try { 
    HttpGet request = new HttpGet(URI.create(url)); 
    request.addHeader("Authentication",authorizationString); 
    res = httpclient.execute(request); 
    return new MjpegInputStream(res.getEntity().getContent());    
} catch (ClientProtocolException e) {e.printStackTrace();} 
} catch (IOException e) {e.printStackTrace();} 
관련 문제