現在、これを使用してxmlファイルをURLに投稿しています:
HttpClient client = new HttpClient();
HttpPost post = new HttpPost("http://www.example.com/post/here");
File f = new File("/path/to/file/file.txt");
String str = Files.toString(f, Charset,defaultCharset());
List<NameValuePair> nvp = new ArrayList<NameValuePair>(1);
nvp.add(new BasicNameValuePair("payload", xmlFile));
post.setEntity(new UrlEncodedFormEntity(nvp));
HttpResponse response = client.execute(post);
しかし、これは「ペイロード」のリクエストパラメーターを追加しているため、doPost サーブレットで値を受け取りたい場合は次のようにします。
request.getParameter("payload");
このパラメーター「ペイロード」はリクエストヘッダーにあると思いますか?
私がやりたいことは、このファイルをリクエストの本文で送信することです。そのため、doPost では、ストリームからデータを取得する必要があります。つまり、次のようになります。
... = request.getInputStream();
これを行うためにコードを変更するにはどうすればよいですか? (httpclient を使用)
また、リクエストの形式に関して、2つの違いを誰かが説明できますか?