android - Retrofit + Jsoup : получить капчу.


1

Как получить капчу с такого вида урл http://www.name.com/captcha-image.php?ts=15294037035600 ? Распарсить удалось,а "скормить" imageview не получается.

  • через setImageURI :bad uri.
  • через picasso : просто не отображает.

    За основу брал ответ

Источник
  •  68
  •  1
  • 19 янв 2018 2018-01-19 09:39:33
Спасибо,за совет но я кажись понял,дело в куках. — 20 янв 20182018-01-20 19:14:57.000000
Попробуйте Glide github.com/bumptech/glide Но возможно у вас что-то с парсером, может приходит поток не содержащий bitmap. Открывая вашу ссылку name.com/captcha-image.php?ts=15294037035600 я не вижу капчу — 20 янв 20182018-01-20 18:58:42.000000

1 ответ

1

Помимо куки нужно было добавить referer Как ,пример,этот ответ

CookieManager cookieManager = new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
OkHttpClient client = new OkHttpClient.Builder()
                    .addInterceptor(new Interceptor() {
                        @Override
                        public okhttp3.Response intercept(Chain chain) throws IOException {
                            Request newRequest = chain.request().newBuilder()
                                    .addHeader("Referer","value")
                                    .build();
                            return chain.proceed(newRequest);
                        }
                    })
                    .cookieJar(new JavaNetCookieJar(cookieManager))
                    .build();

Для работы с JavaNetCookieJar

implementation com.squareup.okhttp3:okhttp-urlconnection:3.10.0
  • 22 янв 2018 2018-01-22 16:03:53