Jsoup表格发布到ASPX /同一页面问题

时间:2015-02-12 04:29:41

标签: java jsoup

我正在尝试使用Jsoup登录网站。当您手动登录时,会有一个用户名表单和一个密码表单,然后单击一个按钮将您转到另一个页面。

但是,它并没有与Jsoup合作。我怀疑问题是页面的URL与表单的action属性中给出的URL相同。它也不是PHP页面,而是ASPX页面。有人可以提供任何帮助吗?我的代码如下:

private class LoginTask extends AsyncTask<String, Void, Document> {
    @Override
    protected Document doInBackground(String... loginInfo) {
        try {
            Connection.Response loginForm = Jsoup.connect("https://websiteHere.org/directory/Login_Student_PXP.aspx")
                    .method(Connection.Method.GET)
                    .execute();

            currentPage = Jsoup.connect("https://websiteHere.org/directory/Login_Student_PXP.aspx")
                    .data("username", "usernameGoesHere")
                    .data("password", "passwordGoesHere")
                    .cookies(loginForm.cookies())
                    .post();
        } catch(IOException e) {
            System.out.println("Failed to log in.");
        }
        return currentPage;
    }

    @Override
    protected void onPostExecute(Document result) {
        loadPageFinished();
    }
}

其他信息:我用websiteHere.org/directory替换了网站名称,但Login_Student_PXP.aspx仍然准确。

表格如下:<form name="Form1" method="post" action="Login_Student_PXP.aspx" id="Form1">

它前面没有websiteHere.org/directory。

非常感谢任何帮助!

编辑:该页面还有两个隐藏的输入,<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="6A78CD7E"><input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEdAATriMevoEM8VekHWnEl5C3PKhoCyVdJtLIis5AgYZ/RYe4sciJO3Hoc68xTFtZGQEgSYOQVAPr9tiF9q7nSHjzouKtiufdoMJr/iFLaXnXfphkEj5veiwEQz7j1yxouXII=">。我尝试将它们作为单独的.data命令添加到我的代码中,但它们不会改变任何内容。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。我忘了为隐藏输入添加.data命令。