使用jsoup从网站收集cookie

时间:2018-01-26 16:48:26

标签: android html android-studio cookies jsoup

我必须构建一个Android应用程序,该应用程序可以访问任何网站,并使用其域属性返回此网站中的所有Cookie。

我使用 jsoup 进行连接和解析html,但我不知道如何收集其Cookie。我不太熟悉" jsoup"因为这是第一次使用它。

有什么建议吗?我将不胜感激。

我已经尝试了这个但是没有正确的说法:

Document doc2 = Jsoup.connect(editText.getText().toString()).cookies(cookies());

1 个答案:

答案 0 :(得分:0)

当你致电Jsoup.connect("...")时,你会得到一个实现Connection界面的对象(see API

您在cookies实例上调用的Connection方法意味着为HTTP请求设置Cookie 。要从HTTP响应中检索Cookie,您需要获取Connection.Response的实例,您可以通过调用connection.execute()获取该实例。

总而言之,您的代码应该是:

try {
    Map<String, String> cookies = Jsoup.connect("https://www.google.com").execute().cookies();
    System.out.println(cookies);
} catch (IOException e) {
    // error handling
}

作为一个额外的考虑因素,请记住,在Android中,您不允许从主线程执行网络调用,否则您将获得异常。