【发布时间】:2016-01-28 20:17:28
【问题描述】:
我的代码有一个奇怪的问题:
URL url = new URL(searchUrlPOST.replace("%accessToken", accessToken));
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("POST");
OutputStream os = conn.getOutputStream();
os.write(json.getBytes("UTF-8"));
os.close();
// read the response
InputStream in = new BufferedInputStream(conn.getInputStream());
只要服务器以正确的状态代码响应,它就可以正常工作。但是,如果他以 400 之类的方式回应,而我将 conn.getInputStream() 替换为 conn.getErrorStream(),我会得到一个
线程“主”java.io.IOException 中的异常:流已关闭
怎么会?
【问题讨论】:
-
你用 curl 或类似的东西试过了吗?
标签: java stream httpconnection