如何使用Jsoup提交数组

时间:2012-06-25 13:33:04

标签: java forms submit jsoup

我使用Jsoup发布如下表单:

Document doc = Jsoup.connect("http://www.example.com/post.php")
   .data("titolo", titolo)
   .data("prezzo", price)
   .data("comune", comune)
   .data("descrizione", descrizione)
   .post();
System.out.println(doc.text());

我需要获得一些链接,我必须发布它。我该怎么做?是否可以像发布文本一样发布数组?

谢谢!

2 个答案:

答案 0 :(得分:2)

你尝试过这样的事吗?

Document doc = Jsoup.connect("http://www.mySite.com/post.php")
   .data("titolo", titolo)
   .data("prezzo", price)
   .data("comune", comune)
   .data("descrizione", descrizione)
   .data("link[]", "http://example1.com")
   .data("link[]", "http://example2.com")
   .data("link[]", "http://example3.com")
   .post();
System.out.println(doc.text());

答案 1 :(得分:0)

这是一个小方法,它将使用您提供的任何输入值“发布”表单元素,但保留隐藏的字段值和其他预先填充的值

public Document submitForm(Element formElement, Map<String, String> data) throws IOException {
    String src = formElement.attr("action");
    Elements inputElements = formElement.select("input");
    for (Element inputElement : inputElements) {
        if (!data.containsKey(inputElement.attr("name"))) {
            data.put(inputElement.attr("name"), inputElement.val());
        }
    }
    Connection.Response response = Jsoup.connect(src).method(Connection.Method.POST).data(data).execute();
    return response.parse();
}