2017-08-03 17 views
0

特定の画像を表示するためにログインが必要なURLから画像をロードしようとすると、アンドロイドスタジオに問題があります。ログインが必要なURLから画像を取得するにはどうすればよいですか?

これはイメージURLを取得するコードであり、そのイメージの絶対URLを返します。

Document document = Jsoup.connect(url + "home").timeout(0).header("Cookie", cookie).get(); 
String imageUrl = document.select("MY CSS SELECTOR").attr("abs:data-src"); 

と私はビットマップイメージにそのURLを変換するために、このコードを使用しています

URLConnection connection = new java.net.URL(imageUrl).openConnection(); 
connection.setRequestProperty("Cookie", cookie); 
connection.connect(); 
Bitmap temp = BitmapFactory.decodeStream(connection.getInputStream()); 

だから私は、意図したとおり、私の第二のコードが動作していないことを推測していると私はどのように私ができるかを知りたいです私がログインしていたときにロードイメージのみが表示されます。

おかげ

+0

このリンクを試す: https://stackoverflow.com/a/45073477/4116560 – sam

答えて

0

を第一に、おそらく、サーバーが実際にあなたの要求の両方のためで応答するもの、知っていると便利だろう。それなしで問題を見つけようとするのは、実際のエラー分析よりも魔法のようなものです。

とにかく、Cookieベースの認証を除いて、より一般的に使用される認証方式(httpベースの認証など)があります。だから私があなただったら、実際にアクセスしようとしているページがCookieベースの認証を使用していることをまず確認します。次に、最初のリクエストから抽出したURLが正しいことを確認します。そうでない場合は、実際のサーバーレスポンスを記録してみてください。実際のサーバーレスポンスは、間違っていることについて何か言わせるかもしれません。サーバーが何らかの種類の「不正アクセス拒否」応答で応答する場合、要求が送信されていると思われる方法で送信されていることを確認してください。 (ライブラリーがhttpヘッダーを自動的に設定していないため、サーバーが自動的に期待通りに応答しなくなる可能性があります) 最後に、アンドロイドの画像デコーダが失敗する可能性があります。例:BitmapFactory works perfectly on .png image but returns null when i load jpeg image from url

関連する問題