使用原始数据发送Post请求,并获取文件

时间:2014-06-11 08:17:17

标签: java json http post

我在服务器端有一个POST方法,它获取一个JSON(作为原始文本)和一些标题。响应是数据(文件内容),由服务器发送给客户端。

我搜索了一种用Java编写客户端的方法。客户端发送带有原始文本和一些标题的POST消息,并且知道得到响应。

我看到的所有示例都使用HttpsURLConnection,但我没有看到任何方式发送原始文本(JSON),并获取数据内容。

1 个答案:

答案 0 :(得分:0)

也许这样的事情会有所帮助吗? (使用org.apache.httpcomponents:httpcore:4.3.2)

HttpEntity reqEntity = MultipartEntityBuilder.create()
    .addPart("query", new InputStreamBody(rawData, "rawData.xml"))                  
    .build();

HttpPost httppost = new HttpPost(serverUrl);
httppost.addHeader("SomeHeader", "SomeValue");
httppost.setEntity(reqEntity);

HttpClient httpclient = HttpClientBuilder.create().build();
HttpResponse response = httpclient.execute(httppost);
int statusCode = response.getStatusLine().getStatusCode();
InputStream os = response.getEntity().getContent();

...