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

NSURLSession ব্যবহার করে curl কমান্ডগুলোকে Objective-C কোডে রূপান্তর করুন। curl2code সম্পূর্ণভাবে WebAssembly-এর মাধ্যমে আপনার ব্রাউজারে চলে — আপনার ডেটা গোপন থাকে। Swift-এর জন্য আমাদের curl to Swift converter ব্যবহার করে দেখুন। C-এর জন্য curl to C দেখুন। নিচে ব্যবহারের জন্য প্রস্তুত Objective-C উদাহরণ দেওয়া হলো।

আপনার ব্রাউজার থেকে কীভাবে curl কপি করবেন

  1. 1

    DevTools ওপেন করুন

    আপনার ব্রাউজার ডেভেলপার টুলস ওপেন করতে F12 অথবা Ctrl+Shift+I চাপুন।

  2. 2

    Network ট্যাবে যান

    Network ট্যাবে ক্লিক করুন এবং সেই কাজটি করুন যা HTTP রিকোয়েস্টটি ট্রিগার করে।

  3. 3

    cURL হিসেবে কপি করুন

    রিকোয়েস্টের ওপর রাইট-ক্লিক করুন → CopyCopy as cURL। তারপর এটি উপরে পেস্ট করুন।

সচরাচর জিজ্ঞাসিত প্রশ্নাবলী

NSURLSession কী?

NSURLSession হলো Objective-C (এবং Swift)-এ HTTP নেটওয়ার্কিংয়ের জন্য Apple-এর Foundation ফ্রেমওয়ার্ক API। এটি ডেটা টাস্ক, ডাউনলোড, আপলোড এবং ব্যাকগ্রাউন্ড ট্রান্সফার পরিচালনা করে। এটি iOS 7+, macOS 10.9+ এ উপলব্ধ। কোনো থার্ড-পার্টি ডিপেন্ডেন্সির প্রয়োজন নেই — এটি Apple প্ল্যাটফর্মে HTTP রিকোয়েস্ট করার স্ট্যান্ডার্ড উপায়। curl2code Objective-C-এর জন্য NSURLSession কোড জেনারেট করে।

NSURLSession বনাম AFNetworking — কোনটি ব্যবহার করবেন?

NSURLSession হলো বিল্ট-ইন সমাধান — যা বেশিরভাগ প্রয়োজনের জন্য যথেষ্ট এবং এতে কোনো ডিপেন্ডেন্সি নেই। AFNetworking একসময় জনপ্রিয় ছিল কিন্তু এখন এটি মেইনটেন্যান্স মোডে আছে; এর উত্তরসূরি হলো Alamofire (Swift)। নতুন Objective-C প্রজেক্টের জন্য NSURLSession সুপারিশ করা হয়। Swift-এর জন্য আমাদের curl to Swift কনভার্টার দেখুন।

Objective-C-তে অথেন্টিকেশন কীভাবে পরিচালনা করবেন?

NSMutableURLRequest-এ হেডার সেট করুন: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]। Basic অথেন্টিকেশনের জন্য NSData এবং base64EncodedStringWithOptions: দিয়ে ক্রেডেনশিয়াল এনকোড করুন। curl2code -u এবং Bearer ফ্ল্যাগগুলোকে সঠিক Objective-C সিনট্যাক্সে রূপান্তর করে।

Objective-C-তে কীভাবে মাল্টিপার্ট ফর্ম ডেটা পাঠাবেন?

NSMutableData দিয়ে মাল্টিপার্ট বডি তৈরি করুন: বাউন্ডারি স্ট্রিং, ফিল্ড ডেটা এবং ফাইল ডেটা সঠিক CRLF সেপারেটর দিয়ে যুক্ত করুন। বাউন্ডারি সহ Content-Type সেট করুন। এটি ম্যানুয়াল পদ্ধতি হলেও পূর্ণ নিয়ন্ত্রণ দেয়। AFNetworking AFHTTPRequestSerializer-এর মাধ্যমে এটিকে সহজ করে।

Objective-C-তে HTTP এরর কীভাবে পরিচালনা করবেন?

NSURLSession কমপ্লিশন হ্যান্ডলার একটি NSError প্যারামিটার প্রদান করে — নেটওয়ার্ক/ট্রান্সপোর্ট এররের জন্য এটি চেক করুন। রেসপন্সটিকে NSHTTPURLResponse-এ কাস্ট করুন এবং statusCode চেক করুন। অথেন্টিকেশন চ্যালেঞ্জ এবং রিডাইরেক্টসহ আরও বিস্তারিত এরর হ্যান্ডলিংয়ের জন্য NSURLSession ডেলিগেট মেথড ব্যবহার করুন।

NSURLSession-এ কমপ্লিশন ব্লকের সাথে কীভাবে কাজ করবেন?

NSURLSession ব্লক-ভিত্তিক কলব্যাক ব্যবহার করে: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]। শুরু করতে সর্বদা [task resume] কল করুন। সিকোয়েন্সিয়াল রিকোয়েস্টের জন্য ব্লক নেস্ট করুন অথবা dispatch_group_notify সহ ডিসপ্যাচ গ্রুপ ব্যবহার করুন।

Objective-C-তে টাইমআউট কীভাবে সেট করবেন?

NSURLSessionConfiguration-এ সেট করুন: config.timeoutIntervalForRequest = 30 এবং config.timeoutIntervalForResource = 300। অথবা প্রতি রিকোয়েস্টে: request.timeoutInterval = 30। টাইমআউট এররগুলো এরর প্যারামিটারে NSURLErrorTimedOut হিসেবে আসে। এগুলো curl-এর --max-time অপশনের সাথে ম্যাপ করে।

NSURLSession-এর সাথে প্রক্সি কীভাবে ব্যবহার করবেন?

connectionProxyDictionary-এ NSURLSessionConfiguration সেট করুন যেখানে (NSString *)kCFNetworkProxiesHTTPProxy এবং পোর্টের মতো কী থাকবে। NSURLSession ডিফল্টভাবে macOS এবং iOS-এর সিস্টেম-ওয়াইড প্রক্সি সেটিংস মেনে চলে। PAC ফাইলের জন্য সিস্টেম প্রেফারেন্সের মাধ্যমে কনফিগার করুন।

Objective-C-তে JSON বডি সহ একটি POST রিকোয়েস্ট কীভাবে পাঠাবেন?

curl2code ব্যবহার করে curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL এর মতো একটি curl POST কমান্ডকে Objective-C-তে রূপান্তর করুন। জেনারেট করা কোড [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]] ব্যবহার করে। curl2code স্বয়ংক্রিয়ভাবে JSON কন্টেন্ট সহ -d/--data ফ্ল্যাগ শনাক্ত করে এবং NSURLSession কোডে উপযুক্ত Content-Type হেডার সেট করে।

Objective-C-তে Bearer token অথরাইজেশন কীভাবে যোগ করবেন?

curl2code-এ curl -H "Authorization: Bearer YOUR_TOKEN" URL পাস করুন এবং এটি অথরাইজেশন হেডার সহ NSURLSession কোড জেনারেট করে: [request setValue:@"Bearer TOKEN" forHTTPHeaderField:@"Authorization"]। curl2code -H "Authorization: Bearer ..." এবং --oauth2-bearer উভয় ফ্ল্যাগ থেকে Bearer token শনাক্ত করে। Basic auth এর জন্য -u user:pass ব্যবহার করুন।

Objective-C-তে Content-Type হেডার কীভাবে সেট করবেন?

curl2code curl -H "Content-Type: application/json" URL কমান্ডকে সঠিক হেডার সহ NSURLSession কোডে রূপান্তর করে: [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]-d ডেটার জন্য curl ডিফল্টভাবে application/x-www-form-urlencoded ব্যবহার করে; -F ফর্ম আপলোডের জন্য এটি multipart/form-data ব্যবহার করে। curl2code প্রতিটি রিকোয়েস্টকে সঠিক NSURLSession API-তে ম্যাপ করে।

প্রয়োজনীয় লিঙ্ক

curl গাইড

curl-কে অন্যান্য ভাষায় রূপান্তর করুন