2012-06-25 31 views
0

我用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()); 

我需要得到一些鏈接,我必須將它張貼。我該怎麼做?是否可以像發佈文本一樣發佈數組?

謝謝!

回答

1

你試過類似的東西嗎?

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()); 
+0

如果我不知道該怎麼一點方法許多鏈接,我必須發佈?我可以循環嗎? – JackTurky

+0

是的,你可以。你應該在每次迭代中調用'Jsoup.data(「link []」,url);''。 –

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(); 
} 
+0

是選擇? :) – JackTurky

+0

是的,只能用於真正的靈感;根本不是一個完整的解決方案 – mysomic