【发布时间】:2018-06-15 09:00:24
【问题描述】:
尝试使用 java(HttpURLConnection 类)从 url 下载文件(此服务是在 .net soap 请求中开发的)我正在成功下载 HttpURLConnection.HTTP_OK 文件,但内容为空(即 0kb)
代码:
String userCredentials = "abc:cde";
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setRequestProperty("Authorization","Basic "+ userCredentials);
connection.setRequestMethod("POST");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "Application/octet-stream");
connection.setChunkedStreamingMode(4096);
connection.setRequestProperty("SOAPAction", url.toString());
if (responseCode == HttpURLConnection.HTTP_OK) {
InputStream inputStream = connection.getInputStream();
String saveFilePath = saveDir + File.separator + downloadFileName;
System.out.println(saveFilePath);
FileOutputStream outputStream = new FileOutputStream(saveFilePath);
int bytesRead ;
byte[] buffer = new byte[BUFFER_SIZE];
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.close();
inputStream.close();
输出:
HTTPResponse code : 200
File downloaded with empty
注意:响应头
{null=[HTTP/1.1 200 OK], Server=[Microsoft-IIS/8.5], Cache-Control=[private], X-AspNet-Version=[4.0.30319], Content-Length=[0], Date=[Fri, 15 Jun 2018 09:14:07 GMT], X-Powered-By=[ASP.NET]}
【问题讨论】:
标签: java asp.net authorization httpurlconnection filestream