- ベストアンサー
JavaでPOST
JavaアプリケーションでPOSTするプログラムの作り方で質問です。 エンコードする関数(encodeだったかな)は見つかりました。 あとは、 引数=値&引数=値&引数=値、、、 の部分から値の部分を切り出す所をどうするかです。 1.切り出し部分を自分で作る、のが普通ですか? 2.何かツールのようなものがありますか? 3.そもそも違う方法が一般的ですか? サンプルコードがあれば最高です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
POSTするいうことは、HTTPのクライアント側プログラムを作っているということですよね。切り出しはサーバ側の仕事なのでは? JavaサーブレットだとGETでもPOSTでも、サーブレットエンジンが切り出してくれるんですけどね。
その他の回答 (1)
- happy_people
- ベストアンサー率30% (25/81)
回答No.2
なんだか「切り出す」という言葉が通じていないみたいですね。 URLエンコードする関数というのはjava.net.URLEncoder.encodeですよね。このメソッドは文字列全体をx-www-form-url形式に符号化します。つまり「複数のname=valueのセット」の内、valueの部分しか渡してはいけません。全部を渡すと「=」や「&」までエンコードされてしまいます。「複数のname=valueのセット」は自分で作る必要があります。
質問者
お礼
-- 「複数のname=valueのセット」は自分で作る必要があります。 -- この部分をやってくれる関数がないかなと思っておりました。 普通は自分で作るものだ、ということで理解しました。 ありがとうございました。
補足
おっしゃる通り、Javaのクライアントプログラムを作っています。POSTするプログラムです。URLエンコードをする部分がわかりません。 URLエンコードする関数は見つけました。この関数にURLエンコードしたい「複数のname=valueのセット」を丸ごと入力すれば、空白+に、文字は16進数に、などと変換してくれるのでしょうか? それとも、クライアントプログラムが独自に「複数のname=valueのセット」を文字列処理で、URLエンコードする部分を切り出すといったことが必要になるのでしょうか。