curl کو Swift میں تبدیل کریں

URLSession کا استعمال کرتے ہوئے curl کمانڈز کو Swift کوڈ میں تبدیل کریں۔ curl2code مکمل طور پر WebAssembly کے ذریعے آپ کے براؤزر میں چلتا ہے — آپ کا ڈیٹا نجی رہتا ہے۔ Kotlin (Android) کے لیے، ہمارا curl to Kotlin کنورٹر آزمائیں۔ Objective-C کے لیے، curl to Objective-C دیکھیں۔ نیچے استعمال کے لیے تیار Swift مثالیں دی گئی ہیں۔

اپنے براؤزر سے curl کاپی کرنے کا طریقہ

  1. 1

    DevTools کھولیں

    اپنے براؤزر کے ڈویلپر ٹولز کھولنے کے لیے F12 یا Ctrl+Shift+I دبائیں۔

  2. 2

    Network ٹیب پر جائیں

    Network ٹیب پر کلک کریں اور وہ عمل کریں جو HTTP درخواست کو متحرک کرتا ہے۔

  3. 3

    cURL کے طور پر کاپی کریں

    درخواست پر رائٹ کلک کریں ← CopyCopy as cURL۔ پھر اسے اوپر پیسٹ کریں۔

اکثر پوچھے جانے والے سوالات

Swift URLSession کیا ہے؟

URLSession ایپل کا iOS، macOS، watchOS، اور tvOS کے لیے بلٹ ان HTTP کلائنٹ ہے۔ یہ ڈیٹا ٹاسکس، ڈاؤن لوڈز، اپ لوڈز، WebSocket، اور بیک گراؤنڈ ٹرانسفرز کو ہینڈل کرتا ہے۔ کسی پیکیج کی تنصیب کی ضرورت نہیں ہے — یہ Foundation کا حصہ ہے۔ یہ HTTP/2، کیشنگ، اور کوکی مینجمنٹ کو سپورٹ کرتا ہے۔ curl2code تمام Swift کنورژنز کے لیے URLSession کوڈ تیار کرتا ہے۔

URLSession بمقابلہ Alamofire — مجھے کون سا استعمال کرنا چاہیے؟

URLSession بلٹ ان ہے اور زیادہ تر ضروریات کو پورا کرتا ہے — تھرڈ پارٹی ڈیپینڈینسیز سے بچنے کے لیے اسے استعمال کریں۔ Alamofire سہولت فراہم کرتا ہے: چین ایبل ریکویسٹ بلڈرز، خودکار ری ٹرائی، رسپانس ویلیڈیشن، اور ملٹی پارٹ اپ لوڈز۔ چھوٹے پروجیکٹس کے لیے، URLSession کافی ہے۔ اسی طرح کے بلٹ ان طریقوں کے لیے، ہمارا curl to Kotlin converter یا curl to Objective-C دیکھیں۔

Swift میں آتھنٹیکیشن (authentication) کو کیسے ہینڈل کریں؟

URLRequest پر ہیڈر سیٹ کریں: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")۔ Basic auth کے لیے، Data("\(user):\(pass)".utf8).base64EncodedString() کے ساتھ انکوڈ کریں۔ curl2code خود بخود -u اور Bearer ہیڈر فلیگز کو Swift کوڈ میں تبدیل کر دیتا ہے۔

Swift میں ملٹی پارٹ فارم ڈیٹا کیسے بھیجیں؟

ملٹی پارٹ باڈی کو دستی طور پر تیار کریں: ایک باؤنڈری اسٹرنگ بنائیں، ہر فیلڈ/فائل کو CRLF سیپریٹرز کے ساتھ شامل کریں، اور Content-Type: multipart/form-data; boundary=... سیٹ کریں۔ آسان ملٹی پارٹ کے لیے، Alamofire کا upload(multipartFormData:) استعمال کریں۔ curl2code خود بخود URLSession کے لیے -F فلیگ کنورژن کو ہینڈل کرتا ہے۔

Swift میں HTTP غلطیوں کو کیسے ہینڈل کریں؟

URLSession تکمیل (completions) میں ایک اختیاری Error واپس کرتا ہے — nil کے لیے چیک کریں۔ رسپانس کو HTTPURLResponse میں کاسٹ کریں اور statusCode چیک کریں۔ async/await (iOS 15+) کے ساتھ، صاف ستھری ایرر ہینڈلنگ کے لیے do/catch بلاک میں try await URLSession.shared.data(for: request) استعمال کریں۔

URLSession کے ساتھ async/await کیسے استعمال کریں؟

Swift 5.5+ مقامی طور پر async/await کو سپورٹ کرتا ہے: let (data, response) = try await URLSession.shared.data(for: request)۔ یہ تکمیل ہینڈلر کلوزرز کو لکیری کوڈ سے بدل دیتا ہے۔ سنکرونس سیاق و سباق سے کال کرنے کے لیے Task { } استعمال کریں۔ ہم آہنگ درخواستوں کے لیے، async let یا TaskGroup استعمال کریں۔ اسی طرح کے پیٹرنز کے لیے، curl to Dart دیکھیں۔

Swift URLSession میں ٹائم آؤٹ کیسے سیٹ کریں؟

URLSessionConfiguration پر کنفیگر کریں: config.timeoutIntervalForRequest = 30 (فی درخواست) اور config.timeoutIntervalForResource = 300 (کل)۔ یا انفرادی درخواستوں پر request.timeoutInterval = 30 سیٹ کریں۔ یہ curl کے --max-time اور --connect-timeout آپشنز سے مطابقت رکھتے ہیں۔

URLSession کے ساتھ پراکسی کیسے استعمال کریں؟

URLSessionConfiguration پر پراکسی سیٹ کریں: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]۔ SOCKS پراکسیز کے لیے، kCFStreamPropertySOCKSProxy کیز استعمال کریں۔ URLSession ان سسٹم وائیڈ پراکسی سیٹنگز کا بھی احترام کرتا ہے جو macOS/iOS سیٹنگز میں کنفیگر کی گئی ہوں۔

Swift میں JSON باڈی کے ساتھ POST درخواست کیسے بھیجیں؟

curl2code کا استعمال کرتے ہوئے curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL جیسی curl POST کمانڈ کو Swift میں تبدیل کریں۔ تیار کردہ کوڈ request.httpBody = try JSONEncoder().encode(data) استعمال کرتا ہے۔ curl2code خودکار طور پر JSON مواد کے ساتھ -d/--data فلیگز کا پتہ لگاتا ہے اور URLSession کوڈ میں مناسب Content-Type ہیڈر سیٹ کرتا ہے۔

Swift میں Bearer ٹوکن کی اجازت کیسے شامل کریں؟

curl2code کو curl -H "Authorization: Bearer YOUR_TOKEN" URL فراہم کریں اور یہ auth ہیڈر کے ساتھ URLSession کوڈ تیار کرتا ہے: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization")۔ curl2code دونوں -H "Authorization: Bearer ..." اور --oauth2-bearer فلیگز سے Bearer ٹوکنز کا پتہ لگاتا ہے۔ Basic auth کے لیے، -u user:pass استعمال کریں۔

Swift میں Content-Type ہیڈر کیسے سیٹ کریں؟

curl2code curl -H "Content-Type: application/json" URL کو مناسب ہیڈر کے ساتھ URLSession کوڈ میں تبدیل کرتا ہے: request.setValue("application/json", forHTTPHeaderField: "Content-Type")۔ -d ڈیٹا کے لیے، curl ڈیفالٹ طور پر application/x-www-form-urlencoded استعمال کرتا ہے؛ -F فارم اپ لوڈز کے لیے، یہ multipart/form-data استعمال کرتا ہے۔ curl2code ہر ایک کو درست URLSession API کے ساتھ میپ کرتا ہے۔

مفید لنکس

curl گائیڈز

curl کو دیگر زبانوں میں تبدیل کریں