我目前使用以下方法将 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 servlet 中接收值时,我会这样做:
request.getParameter("payload");
我猜这个参数“有效负载”在请求标头中?
我想要做的是在请求正文中发送这个文件,所以在我的 doPost 中,我必须从流中获取数据,即:
... = request.getInputStream();
我怎样才能修改我的代码来做到这一点?(使用httpclient)
另外,在请求格式方面,有人可以解释两者之间的区别吗?