Ktor client
- Kotlin course
- Advanced
- Lesson 13/83
- 5 min
Learn the HTTP client with Ktor client.
What is Ktor client?
Ktor client is a coroutine based HTTP library for Kotlin. It is multiplatform; the same API runs on Android, JVM and iOS.
You create an HttpClient and make requests with methods like get and post. All calls are suspend functions; they are called inside a coroutine or with runBlocking. The plugin architecture makes it easy to add JSON serialization, logging and authentication. This lesson covers the basic client setup.
Creating an HttpClient
To create an HttpClient you call HttpClient(). The default engine is used; alternatives like CIO, OkHttp or Darwin can be added.
The client is closed with client.close() after use. Otherwise resources stay attached. To configure it you use the HttpClient { install(...) } block, where plugins like ContentNegotiation or logging are added. The engine choice depends on the platform; CIO is common on JVM.
Practice Define HttpClient and print
Create an HttpClient and print println("Client ready") to confirm. Then close it with client.close().
Starter code
// Ktor client
// write here
import io.ktor.client.*
fun main() {
}Sample solution
fun main() {
val client = HttpClient()
println("Client ready")
client.close()
}Expected output
Client ready
Questions and answers
Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.
1 What is Ktor client built on?
- Coroutine Correct answer
- Thread
- Listener
- Callback
Explanation: Ktor client is coroutine based; calls are suspend functions.
2 Complete the HttpClient call
val client = ____()
val client = HttpClient()
Explanation: HttpClient() creates the client.
3 Match Ktor client parts
| Term | Meaning |
|---|---|
HttpClient |
Client |
get |
GET request |
post |
POST request |
close |
Closing |