【问题标题】:Collect cookies from a website using jsoup使用 jsoup 从网站收集 cookie
【发布时间】:2018-07-06 01:21:20
【问题描述】:

我必须构建一个 android 应用程序,它可以接收任何网站并返回该网站中的所有 cookie 及其域属性。

我正在使用 jsoup 来连接和解析 html,但我不知道如何收集它的 cookie。我对“jsoup”不太熟悉,因为这是我第一次使用它。

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

我已经尝试过了,但上诉不正确:

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

【问题讨论】:

    标签: android html android-studio cookies jsoup


    【解决方案1】:

    当您调用 Jsoup.connect("...") 时,您会得到一个实现 Connection 接口的对象 (see API)

    您在 Connection 实例上调用的 cookies 方法旨在为 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 中,您不允许从主线程执行网络调用,否则您会收到异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-02
      相关资源
      最近更新 更多