gpt4 book ai didi

android - 来自 cookiesyncmanager 的 Jsoup cookie 身份验证以从 https 站点抓取

转载 作者:行者123 更新时间:2023-11-29 02:01:39 25 4
gpt4 key购买 nike

我有一个使用 webview 的 android 应用程序,用户在被重定向到我想用 jsoup 抓取数据的页面之前必须使用用户名和密码登录。由于 jsoup 线程将是一个不同的 session ,用户将不得不再次登录。

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

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

public void onPageFinished(WebView view, String url) {

CookieSyncManager.getInstance().sync();

用户登录后我正在做的 jsoup 抓取是这样的:

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

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


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

最佳答案

不是 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 开发人员(并且代码未经过测试!)

这是一些文档:

关于android - 来自 cookiesyncmanager 的 Jsoup cookie 身份验证以从 https 站点抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12394964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com