0
일반 HTTP를 통해 전송되는 Android 용 파일을 다운로드 중입니다. 이제이 연결이 HTTPS를 거쳐 파일을 다운로드하도록하고 싶습니다. 누군가 코드에서 변경 작업을 수행하면 도움이 필요합니까? HTTP를 통해 Android에 파일을 다운로드하는 방법
나는//HttpsURLConnection ucon = (HttpsURLConnection) url.openConnection();
에
URLConnection ucon = url.openConnection();
을 변경하지만, 작동하지 않았다.
코드 :
private void DownloadFile() {
try {
File root = android.os.Environment
.getExternalStorageDirectory();
File dir = new File(root.getAbsolutePath() + "/File");
if (dir.exists() == false) {
dir.mkdirs();
}
URL url = new URL(DownloadFile); // you can write here any link
File file = new File(dir, fileName);
long startTime = System.currentTimeMillis();
Log.d(LOG_TAG, "download begining");
Log.d(LOG_TAG, "download url:" + url);
Log.d(LOG_TAG, "downloaded file name:" + fileName);
/* Open a connection to that URL. */
URLConnection ucon = url.openConnection();
//HttpsURLConnection ucon = (HttpsURLConnection) url.openConnection();
/*
* Define InputStreams to read from the URLConnection.
*/
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
/*
* Read bytes to the Buffer until there is nothing more to
* read(-1).
*/
ByteArrayBuffer baf = new ByteArrayBuffer(5000);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
/* Convert the Bytes read to a String. */
FileOutputStream fos = new FileOutputStream(file);
fos.write(baf.toByteArray());
fos.flush();
fos.close();
Log.d(LOG_TAG,
"download ready in"
+ ((System.currentTimeMillis() - startTime)/1000)
+ " sec");
} catch (IOException e) {
Log.d(LOG_TAG, "Error: " + e);
}
}
가능한 중복 [안드로이드에서 HTTPS를 통해 파일을 다운로드하는 방법] (https://stackoverflow.com/questions/24884268/how- to-download-file-over-https-in-android)을 사용합니다. 한 번만 질문해야합니다. – jww