universalimageloader 已经是标配图片加载库了。 不过大部分图片空间都是防盗链的, 自己的图片空间也是。
需要修改源码增加refer参数:
1.下载 source-jar包,解压导入到安卓工程, 没有倚赖包,不会报错。
2.修改下面2个类:都是增加refer部分
3. 把编译出的class文件替换掉jar包中的class即可。
com.nostra13.universalimageloader.core.download.BaseImageDownloader
protected HttpURLConnection createConnection(String url, Object extra) throws IOException {
String encodedUrl = Uri.encode(url, ALLOWED_URI_CHARS);
HttpURLConnection conn = (HttpURLConnection) new URL(encodedUrl).openConnection();
conn.setConnectTimeout(connectTimeout);
conn.setReadTimeout(readTimeout);
conn.setRequestProperty("Referer", "http://android.xx.cn");
return conn;
}
com.nostra13.universalimageloader.core.download.HttpClientImageDownloader
@Override
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
HttpGet httpRequest = new HttpGet(imageUri);
httpRequest.addHeader("Referer", "http://android.xx.cn");
HttpResponse response = httpClient.execute(httpRequest);
HttpEntity entity = response.getEntity();
BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);
return bufHttpEntity.getContent();
}
本文详细介绍了如何在Android项目中,通过修改UniversalImageLoader库源码,为图片加载请求添加Referer头信息,以解决图片防盗链问题。包括下载源码、指定类进行修改及替换class文件的步骤。

3913

被折叠的 条评论
为什么被折叠?



