使用Jsoup顺序连接两个URL

时间:2018-11-05 12:15:40

标签: java android cookies jsoup

我正在尝试获取分辨率为1080 x 1920的Category上的所有图像。

我的问题:

如果我是第一次导航到该站点,则该站点将显示所有分辨率的所有图像。

但是,如果我希望它仅显示分辨率为1080 x 1920的图像,则我应该访问此Filter 1080x1920 第一,之后{{3} }以我需要的分辨率显示所有图像。

我尝试过的是首先访问Category并在Filter 1080x1920中获取cookie以便使用它:

@Override
        protected List<Wallpaper> doInBackground(final Integer... integers) {
            try {
                firstPage = Jsoup.connect(getResources().getString(R.string.AllRequest))
                        .method(Connection.Method.POST)
                        .execute();
                Map<String, String> Cookies = firstPage.cookies();
                doc = Jsoup.connect(URL + "?page=" + integers[0])
                        .cookies(Cookies)
                        .get();
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (doc != null) {
                Elements newsHeadlines = doc.select("div.item-element");
                for (Element headline : newsHeadlines) {
                    String thumb = headline.select("a").select("img").attr("src");
                    String title = headline.select("a").select("img").attr("title");
                    Wallpaper wallpaperInfo = new Wallpaper();
                    wallpaperInfo.setThumbnails(thumb);
                    wallpaperInfo.setTitle(title);
                    urls.add(wallpaperInfo);

                }
            }
            return urls;
        }

我要先连接到Category,然后再连接Filter 1080x1920。 你能帮我吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

解决了我添加UserAgent的问题

 try {
                firstPage = Jsoup.connect(getResources().getString(R.string.AllRequest)).userAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36").method(Connection.Method.GET).execute();
                Map<String, String> Cookies = firstPage.cookies();
                doc = Jsoup.connect(URL + "?page=" + integers[0]).cookies(Cookies).get();

            } catch (IOException e) {
                e.printStackTrace();
            }