Не поддерживает ли Picasso загрузку изображений, использующих протокол https

Привет, я использую библиотеку Picasso для загрузки изображений из URL.

URL: https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/t1.0-1/s200x200/1472865_191408954385576_14109897_n.jpg

URL использует протокол https, здесь он не работает для загрузки изображений протокола https с использованием Picasso .

Разве это не поддерживает загрузку изображений, использующих протокол https, это сработало для меня, только если я использую http proctocol?

Здесь я пытаюсь получить растровое изображение, которое использует протокол https

 com.squareup.picasso.Target target = new com.squareup.picasso.Target() { @Override public void onBitmapLoaded(Bitmap bitmap, LoadedFrom loadedFrom) { userProfile.setBitmap(bitmap); // call the Web API to register the walker here new AudioStreetAsyncTask(getActivity(), userProfile, getString(R.string.registration_processing_message), new TaskCompleteListener() { @Override public void onTaskCompleted(String jsonResponse) { Log.d(TAG, jsonResponse); } }); } @Override public void onBitmapFailed(Drawable drawable) { userProfile.setBitmap(null); // call the Web API to register the walker here new AudioStreetAsyncTask(getActivity(), userProfile, getString(R.string.registration_processing_message), new TaskCompleteListener() { @Override public void onTaskCompleted(String jsonResponse) { Log.d(TAG, jsonResponse); } }).execute(); } @Override public void onPrepareLoad(Drawable drawable) {} }; Picasso.with(getActivity()).load(imgUrl.toString()).into(target); 

Есть идеи ?

Используйте эти зависимости в своем Gradle :

 compile 'com.squareup.okhttp:okhttp:2.2.0' compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0' compile 'com.squareup.picasso:picasso:2.4.0' 

И этот класс вместо исходного класса Picasso

Класс Пикассо:

  public class PicassoTrustAll { private static Picasso mInstance = null; private PicassoTrustAll(Context context) { OkHttpClient client = new OkHttpClient(); client.setHostnameVerifier(new HostnameVerifier() { @Override public boolean verify(String s, SSLSession sslSession) { return true; } }); TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { @Override public void checkClientTrusted( java.security.cert.X509Certificate[] x509Certificates, String s) throws java.security.cert.CertificateException { } @Override public void checkServerTrusted( java.security.cert.X509Certificate[] x509Certificates, String s) throws java.security.cert.CertificateException { } @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return new java.security.cert.X509Certificate[] {}; } } }; try { SSLContext sc = SSLContext.getInstance("TLS"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); client.setSslSocketFactory(sc.getSocketFactory()); } catch (Exception e) { e.printStackTrace(); } mInstance = new Picasso.Builder(context) .downloader(new OkHttpDownloader(client)) .listener(new Picasso.Listener() { @Override public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) { Log.e("PICASSO", exception); } }).build(); } public static Picasso getInstance(Context context) { if (mInstance == null) { new PicassoTrustAll(context); } return mInstance; } } 

Пример использования:

 PicassoTrustAll.getInstance(context) .load(url) .into(imageView); 

Разве это не поддерживает загрузку изображений, использующих протокол https, это сработало для меня, только если я использую http proctocol?

Я вижу, что он работает, даже когда вы используете протокол https, но он не работал для меня, когда любой URL перенаправляется на другой URL-адрес https.