// Created on savesnippets.com ยท https://savesnippets.com/XnRIhTmps8NwGq // build.gradle.kts: // implementation("com.squareup.okhttp3:okhttp:4.12.0") import okhttp3.* import okhttp3.MediaType.Companion.toMediaType import okhttp3.RequestBody.Companion.toRequestBody import java.util.concurrent.TimeUnit val client = OkHttpClient.Builder() .connectTimeout(5, TimeUnit.SECONDS) .readTimeout (10, TimeUnit.SECONDS) .build() fun get(url: String): String { val req = Request.Builder() .url(url) .header("Accept", "application/json") .build() client.newCall(req).execute().use { resp -> if (!resp.isSuccessful) throw RuntimeException("HTTP ${resp.code}") return resp.body!!.string() } } fun postJson(url: String, json: String): String { val body = json.toRequestBody("application/json".toMediaType()) val req = Request.Builder().url(url).post(body).build() client.newCall(req).execute().use { resp -> return resp.body!!.string() } } fun main() { println(get("https://api.github.com").take(100)) }