Введение в HTTP-запросы в Kotlin
Программа на JVM может обратиться к удаленному серверу
без сторонних библиотек. Класс HttpClient из
пакета java.net.http открывает соединение,
отправляет HttpRequest и получает
HttpResponse. В ответе есть числовой код
состояния и тело - обычно текст или байты.
Клиент создают через HttpClient.newBuilder,
адрес задают в построителе запроса, метод чтения -
GET. Вызов send блокирует поток до
конца обмена и возвращает готовый ответ:
import java.net.URI
import java.net.http.HttpClient
import java.net.http.HttpRequest
import java.net.http.HttpResponse
fun main() {
val client = HttpClient.newBuilder().build()
val request = HttpRequest.newBuilder()
.uri(URI.create("https://httpbin.org/get"))
.GET()
.build()
val response = client.send(
request,
HttpResponse.BodyHandlers.ofString(),
)
println(response.body())
}
Сервис httpbin.org отражает параметры запроса
в теле ответа. Длинная строка в консоли - это и есть
содержимое ответа, которое клиент прочитал целиком.