package tool.http; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.logging.Level; import java.util.logging.Logger; import javax.json.JsonArray; import javax.json.JsonObject; import talkcrawler.Article; import tool.json.JsonTool; /** * * @author yuu */ public class Post { public static void post(JsonArray array) { String jsonText = array.toString(); HttpURLConnection con = null; try { URL url = new URL("http://172.17.0.1:8983/solr/talkja/update/json?commit=true"); con = (HttpURLConnection) url.openConnection(); con.setConnectTimeout(60000); con.setReadTimeout(60000); con.addRequestProperty("Content-Type", "application/json; charset=UTF-8"); con.setRequestMethod("POST"); con.setDoOutput(true); con.setDoInput(true); con.connect(); try (OutputStream outputStream = con.getOutputStream()) { try (PrintStream ps = new PrintStream(outputStream)) { ps.print(jsonText); } } // recv response int statusCode = con.getResponseCode(); String responseData = ""; StringBuilder sb = new StringBuilder(); try (InputStream stream = con.getInputStream()) { String line = ""; BufferedReader br = new BufferedReader(new InputStreamReader(stream, "UTF-8")); while ((line = br.readLine()) != null) { sb.append(line); } } responseData = sb.toString(); JsonObject res = JsonTool.parse(responseData); if (res != null) { JsonObject header = res.getJsonObject("responseHeader"); if (header != null) { int status = header.getInt("status"); if (status == 0) { System.out.println(" +++++ "+ status); } else { System.out.println(" xxx "+ status); } } } } catch (Exception ex) { Logger.getLogger(Article.class.getName()).log(Level.SEVERE, null, ex); } finally { if (con != null) { con.disconnect(); } } } }