curl-কে Swift-এ রূপান্তর করুন

URLSession ব্যবহার করে curl কমান্ডগুলোকে Swift কোডে রূপান্তর করুন। curl2code সম্পূর্ণভাবে WebAssembly-এর মাধ্যমে আপনার ব্রাউজারে চলে — আপনার ডেটা গোপন থাকে। Kotlin (Android)-এর জন্য আমাদের curl to Kotlin converter ব্যবহার করে দেখুন। 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-এর জন্য Apple-এর বিল্ট-ইন HTTP ক্লায়েন্ট। এটি ডেটা টাস্ক, ডাউনলোড, আপলোড, WebSocket এবং ব্যাকগ্রাউন্ড ট্রান্সফার পরিচালনা করে। কোনো প্যাকেজ ইনস্টলেশনের প্রয়োজন নেই — এটি Foundation-এর অংশ। এটি HTTP/2, ক্যাশিং এবং কুকি ম্যানেজমেন্ট সমর্থন করে। curl2code সমস্ত Swift কনভার্সনের জন্য URLSession কোড জেনারেট করে।

URLSession বনাম Alamofire — কোনটি ব্যবহার করা উচিত?

URLSession বিল্ট-ইন এবং বেশিরভাগ প্রয়োজন মেটায় — থার্ড-পার্টি ডিপেন্ডেন্সি এড়াতে এটি ব্যবহার করুন। Alamofire কিছু সুবিধা যোগ করে: চেইনেবল রিকোয়েস্ট বিল্ডার, অটোমেটিক রিট্রাই, রেসপন্স ভ্যালিডেশন এবং মাল্টিপার্ট আপলোড। ছোট প্রজেক্টের জন্য URLSession যথেষ্ট। অনুরূপ বিল্ট-ইন পদ্ধতির জন্য আমাদের curl to Kotlin কনভার্টার বা curl to Objective-C দেখুন।

Swift-এ অথেন্টিকেশন কীভাবে পরিচালনা করবেন?

URLRequest-এ হেডার সেট করুন: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")। Basic অথেন্টিকেশনের জন্য 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 কমপ্লিশন হ্যান্ডলারে একটি অপশনাল 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 token অথরাইজেশন কীভাবে যোগ করবেন?

curl2code-এ curl -H "Authorization: Bearer YOUR_TOKEN" URL পাস করুন এবং এটি অথরাইজেশন হেডার সহ URLSession কোড জেনারেট করে: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization")। curl2code -H "Authorization: Bearer ..." এবং --oauth2-bearer উভয় ফ্ল্যাগ থেকে Bearer token শনাক্ত করে। 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-কে অন্যান্য ভাষায় রূপান্তর করুন