使用 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 证书。

相关内容

  • 没有找到相关文章

最新更新