java - HttpURLConnection:写入OutputStream,得到响应
问题描述
我正在使用这个答案写入HttpURLConnection
. 它工作正常,我关闭了流和连接:
MultipartEntityBuilder mb =
MultipartEntityBuilder.create();//org.apache.http.entity.mime
mb.addTextBody("foo", "bar");
mb.addBinaryBody("bin", new File("testFilePath"));
org.apache.http.HttpEntity e = mb.build();
URLConnection conn = new URL("http://127.0.0.1:8080/app").openConnection();
conn.setDoOutput(true);
conn.addRequestProperty(e.getContentType().getName(),
e.getContentType().getValue());//header "Content-Type"...
conn.addRequestProperty("Content-Length",
String.valueOf(e.getContentLength()));
OutputStream fout = conn.getOutputStream();
e.writeTo(fout);//write multi part data...
fout.close();
conn.getInputStream().close();//output of remote url
正好。但是,我想知道服务器的响应(json)。我该怎么做?我尝试使用:
InputStream input = conn.getInputStream();
String inputString = new Scanner(input, "UTF-8").useDelimiter("\\Z").next();
input.close();
但我得到一个java.util.NoSuchElementException
错误。
在过去,我只使用了该conn.connect()
方法,然后conn.getInputStream()
它运行良好。为什么现在不行了?我该如何解决这个错误?