我必须构建一个Android应用程序,该应用程序可以访问任何网站,并使用其域属性返回此网站中的所有Cookie。
我使用 jsoup 进行连接和解析html,但我不知道如何收集其Cookie。我不太熟悉" jsoup"因为这是第一次使用它。
有什么建议吗?我将不胜感激。
我已经尝试了这个但是没有正确的说法:
Document doc2 = Jsoup.connect(editText.getText().toString()).cookies(cookies());
答案 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中,您不允许从主线程执行网络调用,否则您将获得异常。