Ktor Client — Kotlin के लिए HTTP-क्लाइंट

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Ktor Client क्या है?

Ktor Client, JetBrains द्वारा विकसित Kotlin प्रोग्रामिंग भाषा के लिए एक एसिंक्रोनस HTTP-क्लाइंट है। यह Ktor फ्रेमवर्क का हिस्सा है, जो सर्वर और क्लाइंट एप्लिकेशन बनाने के लिए डिज़ाइन किया गया है। Ktor Client HTTP अनुरोध (GET, POST, PUT, DELETE और अन्य) भेजने और प्रतिक्रियाओं को संसाधित करने की अनुमति देता है, तथा विभिन्न इंजनों (OkHttp, Apache, CIO, Android आदि) के साथ काम करने का समर्थन करता है।

Ktor Client की आवश्यकता क्यों है?

Ktor Client का उपयोग REST API के साथ बातचीत करने, इंटरनेट से डेटा डाउनलोड करने, फॉर्म भेजने, WebSocket के साथ काम करने और क्लाउड सेवाओं के साथ एकीकरण के लिए किया जाता है। यह पूरी तरह से Kotlin में लिखा गया है, जो टाइप सुरक्षा और कोड की संक्षिप्तता सुनिश्चित करता है। कोरूटीन (coroutines) और Flow के समर्थन के कारण, Ktor Client एसिंक्रोनस और रिएक्टिव एप्लिकेशन के लिए आदर्श है।

Ktor Client कैसे स्थापित करें?

Kotlin प्रोजेक्ट में Ktor Client का उपयोग करने के लिए, build.gradle.kts फ़ाइल में निर्भरताएँ जोड़ें:

dependencies {    implementation("io.ktor:ktor-client-core:2.3.12")    implementation("io.ktor:ktor-client-cio:2.3.12") // CIO इंजन    implementation("io.ktor:ktor-client-content-negotiation:2.3.12") // JSON के लिए    implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.12") // सीरियलाइज़ेशन}

यदि आप Maven का उपयोग कर रहे हैं, तो pom.xml में संबंधित निर्भरताएँ जोड़ें।

मुख्य कार्य

  • अनेक इंजन: OkHttp, Apache, CIO, Android, iOS (Darwin), JavaScript.
  • एसिंक्रोनस: Kotlin कोरूटीन (suspend फंक्शन) का पूर्ण समर्थन।
  • प्लगइन्स: Content Negotiation (JSON/XML), Logging, Auth (Basic, Bearer, OAuth), Cookies, WebSocket.
  • टाइप सुरक्षा: kotlinx.serialization के माध्यम से सीरियलाइज़ेशन और डीसीरियलाइज़ेशन।
  • स्ट्रीमिंग: स्ट्रीमिंग के माध्यम से बड़ी फ़ाइलों के साथ काम करना।

Kotlin में कोड उदाहरण

import io.ktor.client.*import io.ktor.client.engine.cio.*import io.ktor.client.request.*import io.ktor.client.statement.*import io.ktor.http.*import kotlinx.serialization.Serializableimport io.ktor.client.plugins.contentnegotiation.*import io.ktor.serialization.kotlinx.json.*

@Serializabledata class Post(val userId: Int, val id: Int, val title: String, val body: String)

suspend fun fetchPost(): Post { val client = HttpClient(CIO) { install(ContentNegotiation) { json() } } val response: HttpResponse = client.get("https://jsonplaceholder.typicode.com/posts/1") val post: Post = response.body() client.close() return post}

fun main() = runBlocking { val post = fetchPost() println("Title: ${post.title}")}

Ktor Client का उपयोग कब करें?

Ktor Client का उपयोग Kotlin (JVM, Android, Native, JS) प्रोजेक्ट्स में करने की अनुशंसा की जाती है, जहाँ हल्के, एसिंक्रोनस और आधुनिक HTTP-क्लाइंट की आवश्यकता होती है। यह विशेष रूप से माइक्रोसर्विसेज, Android एप्लिकेशन, मल्टीप्लेटफ़ॉर्म प्रोजेक्ट्स (KMP) और Kotlin Coroutines के साथ काम करने में उपयोगी है। यदि आपको Kotlin और JetBrains इकोसिस्टम के साथ पूर्ण एकीकरण की आवश्यकता है, तो Ktor Client सबसे अच्छा विकल्प है।

अनुशंसाएँ