cURL से Swift

curl कमांड चिपकाइए और वही अनुरोध करने वाला Swift URLSession कोड पाइए।

cURL से Swift आपका कमांड ब्राउज़र में ही पार्स करता है। टोकन और प्रमाण-पत्र आपके डिवाइस से बाहर नहीं जाते।

API क्लाइंट आज़माइए

cURL से Swift के बारे में

API का दस्तावेज़ curl बोलता है और iOS ऐप URLSession, और हाथ से अनुवाद करना वह दोहराव वाला काम है जिसमें छोटी ग़लतियाँ आसानी से हो जाती हैं — एक हेडर छूट गया, बॉडी स्ट्रिंग रह गई जबकि JSON चाहिए था, या ऑथ फ़्लैग चुपचाप छूट गया। यह कन्वर्टर curl कमांड को वैसे ही पढ़ता है जैसे curl ख़ुद पढ़ता है और सिर्फ़ Foundation पर टिका Swift देता है। JSON बॉडी अपारदर्शी स्ट्रिंग के बजाय Swift शब्दकोश बनती है।

विशेषताएँ

cURL से Swift का उपयोग कैसे करें

  1. curl कमांड अपने फ़्लैग और बॉडी के साथ चिपकाइए
  2. दाईं ओर बना हुआ Swift पढ़िए
  3. चेतावनियाँ देखिए कि कौन-सा फ़्लैग अनूदित नहीं हो पाया
  4. कोड कॉपी कीजिए या .swift फ़ाइल के रूप में सहेजिए

उदाहरण

इनपुट

curl https://api.example.com/users -H 'Content-Type: application/json' -d '{"name":"Ada"}'

आउटपुट

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

मेथड बॉडी देखकर तय होता है, ठीक वैसे जैसे curl तय करता।

सामान्य त्रुटियाँ और समस्या निवारण

अक्सर पूछे जाने वाले प्रश्न

क्या बना हुआ Swift iOS, macOS और Linux पर चलेगा?
हाँ। वह Foundation का URLSession इस्तेमाल करता है, जो Apple प्लेटफ़ॉर्म पर और Linux में swift-corelibs-foundation में उपलब्ध है।
क्या कंप्लीशन हैंडलर के बजाय async/await कोड मिल सकता है?
बना हुआ रूप कंप्लीशन हैंडलर वाली डेटा टास्क इस्तेमाल करता है, जो हर जगह चलती है। उसे एक पंक्ति में बदला जा सकता है।
JSON बॉडी कैसे संभाली जाती है?
उसे पार्स करके Swift [String: Any] शब्दकोश बनाया जाता है, फिर JSONSerialization से एन्कोड।
-b फ़्लैग की कुकीज़ का क्या होता है?
वे अनुरोध पर Cookie हेडर बन जाती हैं। ध्यान रहे कि URLSession का अपना कुकी भंडार होता है।
क्या Swift में बदलते समय curl कमांड अपलोड होता है?
नहीं। कमांड आपके ब्राउज़र में ही पार्स होता है और कोड वहीं बनता है — दस्तावेज़ों और लॉग के curl कमांड में अक्सर असली API कुंजी होती है।

संबंधित टूल

सभी ArrayKit टूल