You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JSoup带用户名密码连接网站时遇404错误求助

解决JSoup登录ADVFN时的404错误问题

Hey,我帮你排查了代码和目标登录表单,发现几个关键问题导致了「ADVFN ERROR - Page Not Found」,咱们一步步来修复:

1. 登录请求发错地址了!

你当前是把登录数据提交到https://uk.advfn.com/forum,但目标表单的action属性明确写了要提交到https://secure.advfn.com/login/secure——这是最核心的问题,把数据发到错误的页面,自然会返回404。

2. 表单参数要和页面保持一致

虽然你填了site和redirect_url,但注意:

  • 你自定义的redirect_url值和表单里的不一样,应该用页面返回的那个aHR0cHM6Ly91ay5hZHZmbi5jb20vcC5waHA/cGlkPWxvZ291dA==,不要自己修改;
  • 目前看你没遗漏表单里的字段(隐藏字段+账号密码都齐了),但要保证每个参数的值都和登录页面返回的一致。

3. Referrer设置不对

登录请求的referrer应该是包含登录表单的页面URL(比如你最初访问的http://www.advfn.com),而不是登录接口的URLhttps://secure.advfn.com/login/secure。

修复后的完整代码示例

// 先访问登录页面,拿到正确的会话cookies和表单参数
Connection.Response loginPage = Jsoup.connect("http://www.advfn.com")
        .userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36")
        .method(Connection.Method.GET)
        .execute();

Map<String, String> cookies = loginPage.cookies();

// 构建表单参数,严格匹配页面里的字段
Map<String, String> formParams = new HashMap<>();
formParams.put("login_username", "your_real_username"); // 替换成你的真实用户名
formParams.put("login_password", "your_real_password"); // 替换成你的真实密码
formParams.put("site", "uk");
// 使用页面返回的redirect_url,不要自定义
formParams.put("redirect_url", "aHR0cHM6Ly91ay5hZHZmbi5jb20vcC5waHA/cGlkPWxvZ291dA==");

// 提交到正确的登录接口
Document loggedInDoc = Jsoup.connect("https://secure.advfn.com/login/secure")
        .referrer("http://www.advfn.com")
        .cookies(cookies)
        .data(formParams)
        .userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36")
        .timeout(5000) // 适当延长超时,避免网络慢导致失败
        .followRedirects(true)
        .post();

// 可以打印页面标题验证是否登录成功
System.out.println(loggedInDoc.title());

额外小贴士

  • 你之前用的IE6用户代理太老旧了,换成上面代码里的现代浏览器UA,避免被网站拦截;
  • 如果还是失败,建议开启JSoup的调试模式,打印请求和响应的头部信息,看看有没有遗漏的字段(比如有些网站会动态生成CSRF令牌,不过你的表单里没显示这个,先按上面的改试试);
  • 一定要保留从登录页面获取的所有cookies,这是网站识别你会话的关键。

内容的提问来源于stack exchange,提问作者user2254180

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:23:52