来自cookiesyncmanager的Jsoup cookie身份验证从https站点获取

时间:2012-09-12 19:26:46

标签: android cookies webview jsoup scrape

我有一个使用webview的android应用程序,用户必须使用用户名和密码登录才能重定向到我希望用jsoup删除数据的页面。由于jsoup线程将是不同的会话,因此用户必须再次登录。

现在我想使用从webview收到的cookie与jsoup请求一起发送,以便能够抓取我的数据。

使用以下代码将cookie与cookiesyncmanager同步。这基本上是我卡住的地方因为我不知道如何读出cookie以及如何将它附加到jsoup请求。请帮忙? :)

public void onPageFinished(WebView view, String url) {

            CookieSyncManager.getInstance().sync();

在用户登录后,我正在做的jsoup scrape:

  doc = Jsoup.connect("https://need.authentication.com").get();

                Elements elements = doc.select("span.tabCount");
              Element count = elements.first();


                Log.d(TAG, "test"+(count));

1 个答案:

答案 0 :(得分:1)

不是一个Android开发者,但也许你可以尝试这样的事情:

final String url = "https://need.authentication.com";


// -- Android Cookie part here --
CookieSyncManager.getInstance().sync();
CookieManager cm = CookieManager.getInstance();

String cookie = cm.getCookie(url); // returns cookie for url

// ...

// -- JSoup part here --
// Jsoup uses cookies as "name/value pairs"
doc = Jsoup.connect("https://need.authentication.com").header("Cookie", cookie).get();

// ...

我希望这有点帮助,但正如我之前所说:我没有Android开发人员(并且代码未经过测试!)

以下是一些文档: