使用LoopJ AndroidAsyncHttp从https下载图像资源

我使用LoopJ AndroidAsyncHttp来下载图片,但是当我尝试使用HTTPS URL时,我没有得到任何回应。 码:

AsyncHttpClient client = new AsyncHttpClient();
client.get(httpsUrlString, new BinaryHttpResponseHandler(allowedContentTypes) {
    @Override
    public void onSuccess(byte[] fileData) {
        Bitmap bitmap = BitmapFactory.decodeByteArray(fileData, 0, fileData.length);
        image.setImageBitmap(bitmap);
    }
});

有几个开源的库可以执行异步图像加载。 他们不仅负责下载,还包括缓存和多线程。

总而言之,使用这些库比试图自行编写所有代码要方便得多。 现在它只是下载一个图像,但将来你可能需要缓存等。

我建议你看看毕加索或凌空,毕加索使用起来更简单,但凌空有更多的功能。


我希望这段代码能解决你的问题

KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null, null);

MySSLSocketFactory socketFactory = new MySSLSocketFactory(trustStore);
socketFactory.setHostnameVerifier(MySSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

httpClient.setTimeout(30 * 1000);
httpClient.setSSLSocketFactory(socketFactory);

有点晚了,但你可以用这种方式接受所有证明。

AsyncHttpClient client = new AsyncHttpClient(true, 80, 443);

在你的日志中你会看到这个..

AsyncHttpClient:小心! 使用修复程序是不安全的,因为它不验证SSL证书。

链接地址: http://www.djcxy.com/p/74891.html

上一篇: Dowloading image resources from https with LoopJ AndroidAsyncHttp

下一篇: How to determine the minimal noticable change of a double