【发布时间】:2011-12-15 00:31:54
【问题描述】:
我要编写一个 Java 程序,其中一部分解析需要用户事先登录的 200 个唯一页面。我已经使用 Chrome 的开发者控制台来确定我的特定登录 URL(https://r.espn.go.com/members/v3_1/login),验证登录过程是否使用了 POST 请求,以及我的用户名(用户名)和密码(密码)的表单数据名称。当使用this post 的作者指定的方法为后续请求检索 SESSIONID cookie 时,返回的标头有很大不同,并且没有返回任何 cookie。
我还尝试了以下 sn-p,它同时使用了 Jsoup 和 Apache 的 HttpClient、HttpPost 和返回登录页面的 HttpResponse:
MultipartEntity entity = new MultipartEntity();
entity.addPart("username", new StringBody(myUsername));
entity.addPart("password", new StringBody(myPassword));
HttpPost post = new HttpPost(url);
post.setEntity(entity);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(post);
String html = EntityUtils.toString(response.getEntity());
Document document = Jsoup.parse(html, url);
我读过的每个示例都有一个带有 .php 后缀的登录 url,这种方法是否只适用于基于 PHP 的登录服务?还是我做错了什么?
谢谢!
【问题讨论】:
标签: java session-cookies jsoup