java - 当我登录网站时,jsoup 不返回所有 cookie

标签 java cookies jsoup

我正在尝试登录网站,但我的代码仅返回 2 个 cookie,而不是超过 10 个 cookie。这是我正在使用的:

cookies = Jsoup.connect("https://www.e-cigarette-forum.com/forum/login")
                .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36")
                .data("login", "username")
                .data("register", "0")
                .data("password", "password")
                .data("submit", "Log in")
                .data("remember", "1")
                .data("cookie_check", "1")
                .data("_xfToken", "")
                .data("redirect", "https://www.e-cigarette-forum.com/forum/")
                .followRedirects(false)
                .method(org.jsoup.Connection.Method.POST).timeout(50000).execute().cookies();

当我打印 cookie 时,我得到了以下 cookie:

xf_session = c683e3cd72e296ec0bc8d4e36403fc1a

__cfduid = d82ccf7651e7a7cf07c102a7782476c081436435336

有人知道我错过了什么吗?

最佳答案

相反:

https://www.e-cigarette-forum.com/forum/login

您必须使用:

https://www.e-cigarette-forum.com/forum/login/login

enter image description here

工作代码:

try {

            String url = "https://www.e-cigarette-forum.com/forum/login/login/";

            Connection.Response response = Jsoup.connect(url)
                    .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36")
                    .data("login", "username")
                    .data("password", "password")
                    .method(Connection.Method.POST)
                    .followRedirects(true)
                    .execute();

            Document document = response.parse();

            System.out.println("Hi " + document.select(".username.NoOverlay").html());

            Document doc = Jsoup.connect("https://www.e-cigarette-forum.com/forum/account/personal-details")
                    .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36")
                    .cookies(response.cookies())
                    .followRedirects(true)
                    .get();

            System.out.println(doc);

        } catch (IOException e) {
            e.printStackTrace();
        }

关于java - 当我登录网站时,jsoup 不返回所有 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31314169/

相关文章:

java - 使用 JSoup 抓取 HTML,出现 HTTP 错误,状态 456

java - 发现很难从表中提取数据(JSoup)

选择后 Jsoup baseUri 消失了

java - 映射器函数中的静态变量值未更改

java - 如何在二维数组中查找数字并排除一些?

javascript - 根据cookie值打开iframe

javascript - Windows 8 上的 Google Chrome 不理解 javascript cookie 过期时间中的时间格式

java - 为什么保存按钮在我的示例 Android 应用程序中不起作用

java - Ice Cream Sandwich 无法识别 HTML 中的换行符

Javascript:解析 document.cookie JSON 对象时出现问题