HttpUtils.java 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.huimv.common.utils;
  2. import java.io.BufferedReader;
  3. import java.io.DataOutputStream;
  4. import java.io.InputStreamReader;
  5. import java.net.HttpURLConnection;
  6. import java.net.URL;
  7. import java.util.List;
  8. import java.util.Map;
  9. /**
  10. * http 工具类
  11. */
  12. public class HttpUtils {
  13. public static String post(String requestUrl, String accessToken, String params) throws Exception {
  14. String generalUrl = requestUrl + "?access_token=" + accessToken;
  15. URL url = new URL(generalUrl);
  16. // 打开和URL之间的连接
  17. HttpURLConnection connection = (HttpURLConnection) url.openConnection();
  18. connection.setRequestMethod("POST");
  19. // 设置通用的请求属性
  20. connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  21. connection.setRequestProperty("Connection", "Keep-Alive");
  22. connection.setUseCaches(false);
  23. connection.setDoOutput(true);
  24. connection.setDoInput(true);
  25. // 得到请求的输出流对象
  26. DataOutputStream out = new DataOutputStream(connection.getOutputStream());
  27. out.writeBytes(params);
  28. out.flush();
  29. out.close();
  30. // 建立实际的连接
  31. connection.connect();
  32. // 获取所有响应头字段
  33. Map<String, List<String>> headers = connection.getHeaderFields();
  34. // 遍历所有的响应头字段
  35. for (String key : headers.keySet()) {
  36. System.out.println(key + "--->" + headers.get(key));
  37. }
  38. // 定义 BufferedReader输入流来读取URL的响应
  39. BufferedReader in = null;
  40. if (requestUrl.contains("nlp"))
  41. in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "GBK"));
  42. else
  43. in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
  44. String result = "";
  45. String getLine;
  46. while ((getLine = in.readLine()) != null) {
  47. result += getLine;
  48. }
  49. in.close();
  50. System.out.println("result:" + result);
  51. return result;
  52. }
  53. }