执行上面的代码我在 objImages
中有一个带网址图片的arraylistElement table2 = document.select("TABLE").get(1);
Elements asWithName = table2.select("tr>td a[name]");
for (Element aWithName : asWithName) {
String name = aWithName.attr("name");
hostName.add(name);
Element tr = aWithName.parent().parent();
for (Element td : tr.select("td")){
Element img = td.select("img").first();
if (img == null){
continue;
}
String imgRelPath = img.attr("src");
images.add("http://hostname.com"+imgRelPath);
}
objImages = images.toArray();
}
objHostName = hostName.toArray();
好吧,我有网址。现在我必须从这些URL获取图像并将其放在imageView中,每个图像都在不同的imageView中。
我在做:
for {int i=0; i<objImages.length; i++}
InputStream input = new java.net.URL(objImages[i]).openStream();
bitmap = BitmapFactory.decodeStream(input);
...
}
问题是 http://hostname.com/hobbit/gifs/static/green.gif 受用户/密码保护(使用.htaccess文件)。
但它不起作用。有什么想法吗?
提前致谢。
答案 0 :(得分:0)
检查this进行基本身份验证,this检查是否使用jsoup
下载图像最后你会有这样的东西
String username = "foo";
String password = "bar";
String login = username + ":" + password;
String base64login = new String(Base64.encodeBase64(login.getBytes()));
Response resultImageResponse = Jsoup.header("Authorization", "Basic " + base64login)
.connect(imageLocation).ignoreContentType(true).execute();
// output here
FileOutputStream out = (new FileOutputStream(new java.io.File(outputFolder + name)));
out.write(resultImageResponse.bodyAsBytes()); // resultImageResponse.body() is where the image's contents are.
out.close();