我使用 JSoup 来解析带有 cookie 的网站。我想使用 JSoup 从网站下载一个文件,并使用这段代码保存在哈希图中的 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 秒。我在这里想念什么?
帮助将不胜感激。谢谢。