/**
* 测试下载文件
*
* @param url
* @param authorization
* @param json
* @return
* @throws Exception
*/
public static String download(String url, String authorization, JSONObject json) throws Exception {
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
if (json != null) {
StringEntity s = new StringEntity(json.toString(), "utf-8");
httpPost.setEntity(s);
}
httpPost.addHeader("Authorization", authorization);
httpPost.addHeader("Content-Type", "application/json;charset=utf-8");
CloseableHttpResponse response2 = httpclient.execute(httpPost);
// String
// 自定义下载地址及文件名
String fileName = "D:\\test.zip";
try {
System.out.println("===请求成功====" + response2.getStatusLine());
HttpEntity entity2 = response2.getEntity();
System.out.println(entity2.getContentType());
if (entity2.getContentType() == null) {
byte[] fileBytes = EntityUtils.toByteArray(entity2);
BufferedOutputStream bos = null;
FileOutputStream fos = null;
File file = null;
try {
file = new File(fileName);
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(fileBytes);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// do something useful with the response body
// and ensure it is fully consumed
EntityUtils.consume(entity2);
} else {
String jsonStr = EntityUtils.toString(entity2);
EntityUtils.consume(entity2);
return jsonStr;
}
} finally {
response2.close();
}
return null;
}