从直接链接解析Jsoup不起作用

时间:2015-09-23 08:48:52

标签: android html parsing jsoup

我需要从网站接收内容。一般来说它运作良好,但我有其他问题。网页有一个主页面,其中一张图片在中间,点击后,将我们移动到另一页面。我尝试从直接链接显示内容但总是从主页面接收内容而不是我想要的页面。我用jsoup库。有没有可能解决这个问题?我的代码:

private class Parser extends AsyncTask<Void, Void, Void> {
    String h;
    String url = "http://www.klt.net.pl/index.php?a=ostatnie_kolejki";

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pd = new ProgressDialog(MainActivity.this);
        pd.setTitle("Parser");
        pd.setMessage("Loading...");
        pd.setIndeterminate(false);
        pd.show();
    }

    @Override
    protected Void doInBackground(Void... params) {
        try {
            Document document = Jsoup.connect(url).get();
            h = document.html();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        r.setText(h);
        pd.dismiss();
    }
}

1 个答案:

答案 0 :(得分:0)

我已尝试访问您的网址,并且通过检查网络标签,我发现您要访问的网页需要PHPSESSIONID,这是来自包含图片的页面的响应Cookie。所以请尝试下面的代码,它应该工作:)

@Override
protected Void doInBackground(Void... params) {
    try {
        Connection.Response response = Jsoup.connect(url)
            .method(Connection.Method.GET)
            .timeout(50000)
            .followRedirects(true)
            .execute();
        Document document = Jsoup.connect("http://www.klt.net.pl/index.php")
            .cookies(response.cookies())
            .get();
        h = document.html();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}