kotlin
dependencies {
implementation "io.ktor:ktor-client-core:$ktor_version"
}
kotlin
val client = HttpClient()
suspend fun performGetRequest(url: String): String {
return client.get<String>(url)
}
kotlin
val response: HttpResponse = client.get(url)
val statusCode: HttpStatusCode = response.status
val headers: Headers = response.headers
println("Response status code: $statusCode")
println("Response headers: $headers")
kotlin
val responseBody: String = performGetRequest(url)
println("Response body: $responseBody")
kotlin
val client = HttpClient {
install(HttpTimeout) {
requestTimeoutMillis = 5000
}
install(HttpLogging) {
level = LogLevel.ALL
}
install(HttpHeaders) {
customize {
append(HttpHeaders.UserAgent, "MyCustomUserAgent")
}
}
install(HttpClientProxy) {
proxy = Proxy(Proxy.Type.HTTP, InetSocketAddress("proxyHost", proxyPort))
}
}
kotlin
val client = HttpClient()
suspend fun performGetRequest(url: String): String {
return client.get<String>(url)
}
fun main() {
val url = "https://api.example.com/data"
runBlocking {
try {
val responseBody: String = performGetRequest(url)
println("Response body: $responseBody")
} catch (e: Exception) {
println("Error occurred: ${e.message}")
}
}
}