如何通过java填写HTTP表单?

Yat*_*oel 1 javascript java forms httpresponse

我想通过java填充HTTP表单的文本字段,然后想通过java单击提交按钮,以获取提交表单后返回的文档的页面源.我可以通过直接发送HTTP请求来做到这一点,但我不这样做.

Geo*_*Geo 8

我通常使用HtmlUnit来做.他们在页面上有一个例子:

@Test
public void submittingForm() throws Exception {
    final WebClient webClient = new WebClient();

    // Get the first page
    final HtmlPage page1 = webClient.getPage("http://some_url");

    // Get the form that we are dealing with and within that form, 
    // find the submit button and the field that we want to change.
    final HtmlForm form = page1.getFormByName("myform");

    final HtmlSubmitInput button = form.getInputByName("submitbutton");
    final HtmlTextInput textField = form.getInputByName("userid");

    // Change the value of the text field
    textField.setValueAttribute("root");

    // Now submit the form by clicking the button and get back the second page.
    final HtmlPage page2 = button.click();
}
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读更多内容.