采用HttpURLConnection的POST方式发送JSON格式的数据
/**
*方法说明:
* @param url
* @param jsonDataStr
* jsonDataStr:"{field:value}"
*/
private void sendData(String url, String jsonDataStr) {
HttpURLConnection conn = null;
OutputStreamWriter out = null;
BufferedReader reader = null;
String response = "";
try {
// 开始访问
conn = (HttpURLConnection) (new URL(url)).openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("connection", "keep-alive");
conn.setUseCaches(false);// 设置不要缓存
conn.setInstanceFollowRedirects(true);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.connect();
// 发送请求
conn.getOutputStream().write(jsonDataStr.getBytes("UTF-8"));
// 读取响应
reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String lines;
while ((lines = reader.readLine()) != null) {
lines = new String(lines.getBytes(), "utf-8");
response += lines;
}
reader.close();
} catch (Throwable e) {
Logger.error("发送报错" + url, e);
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
Logger.error("关闭请求失败", e);
}
}
if (conn != null) {
conn.disconnect();
}
}
}