Jsoup用于发布表单并获得响应

时间:2015-07-08 14:23:31

标签: java android asp.net jsoup

我正在为自己创建一个Android应用程序,这样我就可以在手机上轻松访问我的学校日程安排,而我正在使用jsoup

首先我提取我需要提交的表单的输入字段,然后获取这样的cookie:

Connection.Response res = Jsoup.connect("domain.com/default.aspx")
    .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
    .execute();

cookieMap.putAll(res.cookies());
doc = res.parse();

Elements inputs = doc.select("input");
for(Element e : inputs){
    dataMap.put(e.attr("name"), e.attr("value"));
}

在此之后,我尝试发布表单并检索数据,但我似乎无法获得正确的HTML。 我正在尝试这个并且响应html不是我想要的页面。

Connection.Response response = Jsoup.connect("domain.com/default.aspx")
    .data(dataMap)
    .cookies(cookieMap)
    .method(Connection.Method.POST)
    .followRedirects(true)
    .ignoreContentType(true)
    .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
    .execute();

doc = response.parse();

我已使用response.url()检查了该位置,并且该网址等于domain.com/showtimetable.aspx,如果您在浏览器中正常提交表单,则该页面是您重定向到的页面

所有帮助我非常感谢

1 个答案:

答案 0 :(得分:0)

我似乎已经解决了这个问题。

我在发布此问题之前就看到了this问题,并认为这是我的解决方案。但是,当我尝试添加代码以忽略页面上的搜索按钮时,没有任何改变。

我再次查看了我的代码只是为了看到我拼错了搜索按钮的ID ...