2

JSoup を使用して、Cookie を使用して Web サイトを解析しました。JSoup を使用して Web サイトからファイルをダウンロードし、次のコードを使用してハッシュマップに保存された Cookie をダウンロードします。

Connection.Response res = Jsoup.connect("http://www.webpage.com/downloadpage).execute();
Map<String, String> cookies = res.cookies();

したがって、ファイルをダウンロードしようとするときは、これを使用します。

downloadFile(Jsoup.connect("http://www.webpage.com/file.ext).cookies(cookies).ignoreContentType(true).execute().bodyAsBytes());

private void downloadFile(byte[] fileByteArray) {
    try {
        File temprFile = File.createTempFile("tempfile", "ext", getCacheDir());
        temprFile.deleteOnExit();
        FileOutputStream fos = new FileOutputStream(temprFile);
        fos.write(fileByteArray);
        fos.close();

        }  catch (MalformedURLException e){
            e.printStackTrace();
        } catch (IOException ex) {
        String s = ex.toString();
        ex.printStackTrace();
    }
}

プログラムはエラーなしで実行されますが、一時ファイルを開こうとすると、ファイルが完全ではないように見えます。毎回、正確に 1.408.576 バイトがダウンロードされます。たとえば、この方法で mp3 ファイルをダウンロードすると、一時ファイルには元のファイルの 40 秒しか含まれません。ここで何が欠けていますか?

助けていただければ幸いです。ありがとう。

4

2 に答える 2