【发布时间】:2015-07-11 02:27:10
【问题描述】:
我想将 json 发布到 URL。我找到了以下代码,对我来说很好用:
public void post(URL url, String json) {
try {
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
OutputStream os = conn.getOutputStream();
os.write(json.getBytes());
os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
但我只想发帖,不关心响应。因此,当我尝试删除第二部分(使用 BufferedReader 读取)时,它不再起作用了:
public void post(URL url, String json) {
try {
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
OutputStream os = conn.getOutputStream();
os.write(json.getBytes());
os.close();
conn.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
谁能解释一下原因?
【问题讨论】:
标签: java json post bufferedreader httpurlconnection