【发布时间】:2015-11-06 02:58:13
【问题描述】:
我正在尝试通过HttpUrlConnection 发布json 请求(请注意,我只需要将数据推送到服务器,响应将被忽略)。我已经运行了几个示例,但仍然无法正常工作,没有数据被添加到服务器。
这是我的代码:
URL url = new URL(urlString);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Accept", "application/json");
OutputStream stream = connection.getOutputStream();
stream.write(requestJSON.toString().getBytes());
stream.flush();
stream.close();
更新
当我尝试读取stream.close() 之后的响应时,我注意到代码有效,例如:
connection.getResponseMessage()
这是否意味着必须阅读响应才能完成请求?
【问题讨论】:
-
在
stream.close()之前添加connection.connect(); -
像下面这样使用
OutputStream outputStream = new BufferedOutputStream(urlConnection.getOutputStream()); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "utf-8")); writer.write(requestBody); writer.flush(); writer.close(); outputStream.close();
标签: android json httpurlconnection