2017-06-15 6 views
0

フォーム用のページをスクラップしてから、フォームを送信する前にWebページの入力パラメータを解析/変更しています.jsoupを使用して取得します。jsoup post/getを使用してさまざまな数のパラメータを送信する方法は?

私はパラメータを変更した後、投稿を送信しようとしましたが、問題があります。使用可能なパラメーターのペア(名前、値)の数は、フォームによって異なります。

jsoupにおける通常のポストは次のようになります。

Connection.Response res = Jsoup.connect(formDTO.getUrl()) 
       .data("username", "admin", "password", "admin", "login-php-submit-button", "Login") 
       .method(getMethod(formDTO.getMethod())) 
       .execute(); 
     Document doc = res.parse(); 
     System.out.println(doc.toString()); 

.data()が、私は内の数字のペアを増やすことができますどちらか、私が見つけたものから、複数のパラメータのためのパラメータ(名前、値)のペアを受け入れ、 .data("username", "admin", "password", "admin")または私は.data("name","value")の数を増やすことができます。しかし、あなたが得るパラメータの数がわからない場合、これらのソリューションは機能しません。

のJavadocサイスが

私は.DATAの様々な数を()を呼び出した以外は同一の機能の数を書くことを強制されることはないしたいと思い

...:

は数を追加します。データパラメータを要求する。複数のパラメータは、 を一度に設定することができます。例:.data( "name"、 "jsoup"、 "language"、 "Java"、 "language"、 "English"); ?name = jsoup & language = Java & language =英語パラメータ:keyvals - キー値の組み合わせの のようなクエリ文字列を作成します。戻り値:この接続(連結)

さまざまなパラメータを受け入れることができるように投稿を構築する方法はありますか?

答えて

0

いくつかの掘り下げの後、データ()がMapでオーバーロードされ、さまざまなパラメータ問題を解決できることがわかりました。

ドキュメントhere

接続データ(収集データ)は、要求データが接続 データ(地図データ)をパラメータに 供給されたデータのすべてを追加し 要求データのパラメータに供給されたデータのすべてを追加します接続データ(String ... keyvals) 個の要求データパラメータを追加します。

関連する問題