HttpUtils.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. package com.mes.util;
  2. import java.io.*;
  3. import java.net.HttpURLConnection;
  4. import java.net.URISyntaxException;
  5. import java.net.URL;
  6. public class HttpUtils {
  7. /**
  8. * HTTP请求,正确报文解析,并保存数据到生产记录数据
  9. * @return
  10. * @throws URISyntaxException
  11. */
  12. //http post请求
  13. public static String sendRequest(String urlParam) {
  14. String requestType = "POST";
  15. //根据接收内容返回数据结果
  16. String ret = "";
  17. System.out.println(urlParam);
  18. HttpURLConnection con = null;
  19. BufferedReader buffer = null;
  20. StringBuffer resultBuffer = null;
  21. try {
  22. URL url = new URL(urlParam);
  23. //得到连接对象
  24. con = (HttpURLConnection) url.openConnection();
  25. //设置请求类型
  26. con.setRequestMethod(requestType);
  27. //设置请求需要返回的数据类型和字符集类型
  28. con.setRequestProperty("Content-Type", "application/json;charset=GBK");
  29. //允许写出
  30. con.setDoOutput(true);
  31. //允许读入
  32. con.setDoInput(true);
  33. //不使用缓存
  34. con.setUseCaches(false);
  35. //得到响应码
  36. int responseCode = con.getResponseCode();
  37. System.out.println("responseCode="+responseCode);
  38. if(responseCode == HttpURLConnection.HTTP_OK){
  39. //得到响应流
  40. InputStream inputStream = con.getInputStream();
  41. //将响应流转换成字符串
  42. resultBuffer = new StringBuffer();
  43. String line;
  44. buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
  45. while ((line = buffer.readLine()) != null) {
  46. resultBuffer.append(line);
  47. }
  48. System.out.println(resultBuffer.toString());
  49. ret = resultBuffer.toString();
  50. }else {
  51. //ret = String.valueOf(responseCode);
  52. ret = "false";
  53. }
  54. con.disconnect();
  55. }catch(Exception e) {
  56. //ret = false;
  57. //System.out.println("e.toString()="+e.toString());
  58. //return e.toString();
  59. //e.printStackTrace();
  60. ret = "false";
  61. }
  62. return ret;
  63. }
  64. public static String sendPostRequest(String urlParam, String params) {
  65. String requestType = "POST";
  66. //根据接收内容返回数据结果
  67. String ret = "";
  68. System.out.println(urlParam);
  69. HttpURLConnection con = null;
  70. BufferedReader buffer = null;
  71. StringBuffer resultBuffer = null;
  72. try {
  73. URL url = new URL(urlParam);
  74. //得到连接对象
  75. con = (HttpURLConnection) url.openConnection();
  76. //设置请求类型
  77. con.setRequestMethod(requestType);
  78. //设置请求需要返回的数据类型和字符集类型
  79. con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=GBK");
  80. //允许写出
  81. con.setDoOutput(true);
  82. //允许读入
  83. con.setDoInput(true);
  84. //不使用缓存
  85. con.setUseCaches(false);
  86. // 获取URLConnection对象对应的输出流
  87. OutputStreamWriter out = new OutputStreamWriter( con.getOutputStream(),"UTF-8");// utf-8编码
  88. // 发送请求参数
  89. out.write(params);
  90. //得到响应码
  91. int responseCode = con.getResponseCode();
  92. System.out.println("responseCode="+responseCode);
  93. if(responseCode == HttpURLConnection.HTTP_OK){
  94. //得到响应流
  95. InputStream inputStream = con.getInputStream();
  96. //将响应流转换成字符串
  97. resultBuffer = new StringBuffer();
  98. String line;
  99. buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
  100. while ((line = buffer.readLine()) != null) {
  101. resultBuffer.append(line);
  102. }
  103. System.out.println(resultBuffer.toString());
  104. ret = resultBuffer.toString();
  105. }else {
  106. //ret = String.valueOf(responseCode);
  107. ret = "false";
  108. }
  109. con.disconnect();
  110. }catch(Exception e) {
  111. //ret = false;
  112. //System.out.println("e.toString()="+e.toString());
  113. //return e.toString();
  114. //e.printStackTrace();
  115. ret = "false";
  116. }
  117. return ret;
  118. }
  119. public static String sendPostRequestJson(String apiUrl, String jsonData) throws IOException {
  120. URL url = new URL(apiUrl);
  121. HttpURLConnection conn = (HttpURLConnection) url.openConnection();
  122. conn.setRequestMethod("POST");
  123. conn.setRequestProperty("Content-Type", "application/json");
  124. conn.setDoOutput(true);
  125. // 发送请求数据
  126. try (OutputStream os = conn.getOutputStream()) {
  127. byte[] input = jsonData.getBytes("utf-8");
  128. os.write(input, 0, input.length);
  129. }
  130. // 获取响应数据
  131. StringBuilder response = new StringBuilder();
  132. int responseCode = conn.getResponseCode();
  133. // System.out.println("Sending POST request to URL: " + apiUrl);
  134. // System.out.println("Post parameters: " + jsonData);
  135. // System.out.println("Response Code: " + responseCode);
  136. try (BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"))) {
  137. String responseLine;
  138. while ((responseLine = br.readLine()) != null) {
  139. response.append(responseLine.trim());
  140. }
  141. }
  142. conn.disconnect();
  143. return response.toString();
  144. }
  145. }