dianxin-guizhou-forward
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

преди 4 години
преди 4 години
преди 4 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package com.ssjl.zhaobiao.guizhou.utils;
  2. import okhttp3.*;
  3. import org.springframework.stereotype.Component;
  4. import java.io.IOException;
  5. import java.util.Map;
  6. @Component
  7. public class OkHttpUtil {
  8. private OkHttpClient client;
  9. private static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
  10. private static final MediaType WWWFORM = MediaType.get("application/x-www-form-urlencoded");
  11. public OkHttpUtil() {
  12. client = new OkHttpClient();
  13. }
  14. public String get(String url) throws IOException {
  15. Request request = new Request.Builder()
  16. .url(url)
  17. .build();
  18. try (Response response = client.newCall(request).execute()) {
  19. return response.body().string();
  20. }
  21. }
  22. public String get(String url, Headers headers) throws IOException {
  23. Request request = new Request.Builder()
  24. .url(url)
  25. .headers(headers)
  26. .build();
  27. try (Response response = client.newCall(request).execute()) {
  28. return response.body().string();
  29. }
  30. }
  31. public String postJson(String url, String json) throws IOException {
  32. RequestBody requestBody = RequestBody.create(json, JSON);
  33. Request request = new Request.Builder()
  34. .url(url)
  35. .post(requestBody)
  36. .build();
  37. try (Response response = client.newCall(request).execute()) {
  38. return response.body().string();
  39. }
  40. }
  41. public String postJson(String url, String json, Headers headers) throws IOException {
  42. RequestBody requestBody = RequestBody.create(json, JSON);
  43. Request request = new Request.Builder()
  44. .url(url)
  45. .post(requestBody)
  46. .headers(headers)
  47. .build();
  48. try (Response response = client.newCall(request).execute()) {
  49. return response.body().string();
  50. }
  51. }
  52. public String postWwwForm(String url, Map<String, String> formMap) throws IOException {
  53. FormBody.Builder formBuilder = new FormBody.Builder();
  54. for(Map.Entry<String, String> item : formMap.entrySet()){
  55. formBuilder.add(item.getKey(), item.getValue());
  56. }
  57. RequestBody requestBody = formBuilder.build();
  58. Headers headers = new Headers.Builder().add("Content-Type", "application/x-www-form-urlencoded").build();
  59. Request request = new Request.Builder()
  60. .url(url)
  61. .post(requestBody)
  62. .headers(headers)
  63. .build();
  64. try (Response response = client.newCall(request).execute()) {
  65. return response.body().string();
  66. }
  67. }
  68. public String postFormdata(String url, Map<String, String> formMap) throws IOException {
  69. FormBody.Builder formBuilder = new FormBody.Builder();
  70. for(Map.Entry<String, String> item : formMap.entrySet()){
  71. formBuilder.add(item.getKey(), item.getValue());
  72. }
  73. Headers headers = new Headers.Builder().add("Content-Type", "multipart/form-data").build();
  74. RequestBody requestBody = formBuilder.build();
  75. Request request=new Request.Builder()
  76. .url(url)
  77. .post(requestBody)
  78. .headers(headers)
  79. .build();
  80. try (Response response = client.newCall(request).execute()) {
  81. return response.body().string();
  82. }
  83. }
  84. public byte[] postBytes(String url, byte[] bytes, Headers headers) throws IOException {
  85. MediaType mediaType = MediaType.parse("application/octet-stream;charset=UTF-8");
  86. RequestBody requestBody = RequestBody.create(bytes, mediaType);
  87. Request request = new Request.Builder()
  88. .url(url)
  89. .post(requestBody)
  90. .headers(headers)
  91. .build();
  92. try (Response response = client.newCall(request).execute()) {
  93. return response.body().bytes();
  94. }
  95. }
  96. }