| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package http;
- import java.io.IOException;
- import okhttp3.Call;
- import okhttp3.MediaType;
- import okhttp3.OkHttpClient;
- import okhttp3.Request;
- import okhttp3.RequestBody;
- import okhttp3.Response;
- public class OkHttpUtils {
- public static final OkHttpClient client = HttpClient.buildHttpClient();
- public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
- private OkHttpUtils() {
- }
- // 同步 GET 请求
- public static Response getSync(String url) throws IOException {
- Request request = new Request.Builder()
- .url(url)
- .build();
- Call call = client.newCall(request);
- return call.execute();
- }
- // 同步 POST 请求
- public static Response postSync(String url, String json) throws IOException {
- RequestBody body = RequestBody.create(JSON, json);
- Request request = new Request.Builder()
- .url(url)
- .post(body)
- .build();
- Call call = client.newCall(request);
- return call.execute();
- }
- //可以设置超时时间 timeoutMillis 毫秒
- public static Response postSync(String url, String json, long timeoutMillis) throws IOException {
- // 用新 client 覆盖超时设置
- OkHttpClient timeoutClient = client.newBuilder()
- .connectTimeout(timeoutMillis, java.util.concurrent.TimeUnit.MILLISECONDS)
- .readTimeout(timeoutMillis, java.util.concurrent.TimeUnit.MILLISECONDS)
- .writeTimeout(timeoutMillis, java.util.concurrent.TimeUnit.MILLISECONDS)
- .build();
- RequestBody body = RequestBody.create(JSON, json);
- Request request = new Request.Builder()
- .url(url)
- .post(body)
- .build();
- return timeoutClient.newCall(request).execute();
- }
- }
|