7

我正在使用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);
    }
});
4

3 回答 3

4

有一些开源库可以进行异步图像加载。他们不仅负责下载,还负责缓存和多线程。

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

我建议你看看picasso或者volley,picasso 使用起来更简单,但是 volley 的功能要多得多。

于 2013-10-24T11:31:09.873 回答
0

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

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);
于 2014-01-15T10:29:28.563 回答
0

有点晚了,但是您可以通过这种方式接受所有证书..

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

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

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

于 2014-05-11T18:01:03.817 回答