curl کو Objective-C میں تبدیل کریں
NSURLSession کا استعمال کرتے ہوئے curl کمانڈز کو Objective-C کوڈ میں تبدیل کریں۔ curl2code مکمل طور پر WebAssembly کے ذریعے آپ کے براؤزر میں چلتا ہے — آپ کا ڈیٹا نجی رہتا ہے۔ Swift کے لیے، ہمارا curl to Swift کنورٹر آزمائیں۔ C کے لیے، curl to C دیکھیں۔ نیچے استعمال کے لیے تیار Objective-C مثالیں دی گئی ہیں۔
اپنے براؤزر سے curl کاپی کرنے کا طریقہ
- 1
DevTools کھولیں
اپنے براؤزر کے ڈویلپر ٹولز کھولنے کے لیے F12 یا Ctrl+Shift+I دبائیں۔
- 2
Network ٹیب پر جائیں
Network ٹیب پر کلک کریں اور وہ عمل کریں جو HTTP درخواست کو متحرک کرتا ہے۔
- 3
cURL کے طور پر کاپی کریں
درخواست پر رائٹ کلک کریں ← Copy ← Copy as cURL۔ پھر اسے اوپر پیسٹ کریں۔
اکثر پوچھے جانے والے سوالات
NSURLSession کیا ہے؟
NSURLSession ایپل کا Objective-C (اور Swift) میں HTTP نیٹ ورکنگ کے لیے Foundation فریم ورک API ہے۔ یہ ڈیٹا ٹاسکس، ڈاؤن لوڈز، اپ لوڈز، اور بیک گراؤنڈ ٹرانسفرز کو ہینڈل کرتا ہے۔ یہ iOS 7+ اور macOS 10.9+ پر دستیاب ہے۔ کسی تھرڈ پارٹی ڈیپینڈینسی کی ضرورت نہیں ہے — یہ ایپل پلیٹ فارمز میں HTTP درخواستیں کرنے کا معیاری طریقہ ہے۔ curl2code خود بخود Objective-C کے لیے NSURLSession کوڈ تیار کرتا ہے۔
NSURLSession بمقابلہ AFNetworking — کون سا استعمال کریں؟
NSURLSession بلٹ ان حل ہے — زیادہ تر ضروریات کے لیے کافی ہے اور اس میں کوئی ڈیپینڈینسی نہیں ہے۔ AFNetworking ماضی میں مقبول تھا لیکن اب یہ مینٹیننس موڈ میں ہے؛ اس کا جانشین Alamofire (Swift) ہے۔ نئے Objective-C پروجیکٹس کے لیے، NSURLSession تجویز کیا جاتا ہے۔ Swift کے لیے، ہمارا curl to Swift converter دیکھیں۔
Objective-C میں آتھنٹیکیشن کو کیسے ہینڈل کریں؟
NSMutableURLRequest پر ہیڈر سیٹ کریں: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]۔ Basic auth کے لیے، NSData اور base64EncodedStringWithOptions: کے ساتھ اسناد کو انکوڈ کریں۔ curl2code خود بخود -u اور Bearer فلیگز کو درست Objective-C سنٹیکس میں تبدیل کر دیتا ہے۔
Objective-C میں ملٹی پارٹ فارم ڈیٹا کیسے بھیجیں؟
NSMutableData کے ساتھ ملٹی پارٹ باڈی تیار کریں: باؤنڈری اسٹرنگز، فیلڈ ڈیٹا، اور فائل ڈیٹا کو مناسب CRLF سیپریٹرز کے ساتھ شامل کریں۔ باؤنڈری کے ساتھ Content-Type سیٹ کریں۔ یہ دستی طریقہ ہے لیکن مکمل کنٹرول دیتا ہے۔ AFNetworking اسے AFHTTPRequestSerializer کے ساتھ آسان بناتا ہے۔
Objective-C میں HTTP غلطیوں کو کیسے ہینڈل کریں؟
NSURLSession کے تکمیل ہینڈلرز (completion handlers) ایک NSError پیرامیٹر فراہم کرتے ہیں — نیٹ ورک/ٹرانسپورٹ کی غلطیوں کے لیے اسے چیک کریں۔ رسپانس کو NSHTTPURLResponse میں کاسٹ کریں اور statusCode چیک کریں۔ مزید تفصیلی ایرر ہینڈلنگ بشمول آتھنٹیکیشن چیلنجز اور ری ڈائریکٹس کے لیے NSURLSession ڈیلیگیٹ میتھڈز استعمال کریں۔
NSURLSession میں تکمیل بلاکس (completion blocks) کے ساتھ کیسے کام کریں؟
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 ٹوکن کی اجازت کیسے شامل کریں؟
curl2code کو curl -H "Authorization: Bearer YOUR_TOKEN" URL فراہم کریں اور یہ auth ہیڈر کے ساتھ NSURLSession کوڈ تیار کرتا ہے: [request setValue:@"Bearer TOKEN" forHTTPHeaderField:@"Authorization"]۔ curl2code دونوں -H "Authorization: Bearer ..." اور --oauth2-bearer فلیگز سے Bearer ٹوکنز کا پتہ لگاتا ہے۔ 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 کے ساتھ میپ کرتا ہے۔