package com.xly.util; import okhttp3.*; import java.io.IOException; import java.util.concurrent.TimeUnit; /** * OkHttp 薄封装:目前仅 {@code OllamaJsonClient} 用它同步 POST JSON。 */ public class OkHttpUtil { private final OkHttpClient client; private OkHttpUtil(long connectTimeout, long readTimeout, long writeTimeout) { client = new OkHttpClient.Builder() .connectTimeout(connectTimeout, TimeUnit.SECONDS) .readTimeout(readTimeout, TimeUnit.SECONDS) .writeTimeout(writeTimeout, TimeUnit.SECONDS) .build(); } public static OkHttpUtil getInstance(long connectTimeout, long readTimeout, long writeTimeout) { return new OkHttpUtil(connectTimeout, readTimeout, writeTimeout); } public String postJson(String url, String json) throws IOException { RequestBody body = RequestBody.create(json, MediaType.parse("application/json; charset=utf-8")); Request request = new Request.Builder().url(url).post(body).build(); try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { throw new IOException("Unexpected code: " + response.code() + ", message: " + response.message()); } ResponseBody rb = response.body(); return rb != null ? rb.string() : ""; } } }