我有一个使用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));
答案 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开发人员(并且代码未经过测试!)
以下是一些文档: