curl-ის კონვერტაცია Objective-C-ში
გარდაქმენით curl ბრძანებები Objective-C კოდად NSURLSession-ის გამოყენებით. 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 არის Apple-ის Foundation framework API HTTP ქსელისთვის Objective-C-ში (და Swift-ში). ის მართავს მონაცემთა დავალებებს, ჩამოტვირთვებს, ატვირთვებს და ფონურ გადაცემებს. ხელმისაწვდომია iOS 7+, macOS 10.9+ ვერსიებზე. მესამე მხარის დამოკიდებულება არ არის საჭირო — ეს არის სტანდარტული გზა HTTP მოთხოვნების გასაკეთებლად Apple-ის პლატფორმებზე. curl2code აგენერირებს NSURLSession კოდს Objective-C-სთვის.
NSURLSession vs AFNetworking — რომელი გამოვიყენო?
NSURLSession არის ჩაშენებული გადაწყვეტა — საკმარისია უმეტესი საჭიროებისთვის და არ აქვს დამოკიდებულებები. AFNetworking ისტორიულად პოპულარული იყო, მაგრამ ახლა მხარდაჭერის რეჟიმშია; მისი მემკვიდრეა Alamofire (Swift). ახალი Objective-C პროექტებისთვის რეკომენდებულია NSURLSession. Swift-ისთვის იხილეთ ჩვენი curl to Swift კონვერტერი.
როგორ ვმართოთ ავტორიზაცია Objective-C-ში?
დააყენეთ header-ი NSMutableURLRequest-ზე: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Basic auth-ისთვის დააკოდირეთ მონაცემები NSData-ს და base64EncodedStringWithOptions:-ის გამოყენებით. curl2code აკონვერტირებს -u და Bearer დროშებს სწორ Objective-C სინტაქსში.
როგორ გავაგზავნოთ multipart form მონაცემები Objective-C-ში?
ააგეთ multipart body NSMutableData-ით: დაამატეთ boundary სტრიქონები, ველების მონაცემები და ფაილის მონაცემები სწორი CRLF გამყოფებით. დააყენეთ Content-Type boundary-სთან ერთად. ეს არის მანუალური პროცესი, მაგრამ გაძლევთ სრულ კონტროლს. AFNetworking ამას ამარტივებს AFHTTPRequestSerializer-ით.
როგორ ვმართოთ HTTP შეცდომები Objective-C-ში?
NSURLSession completion handler-ები გვაწვდიან NSError პარამეტრს — შეამოწმეთ იგი ქსელის/ტრანსპორტის შეცდომებზე. გადააკონვერტირეთ პასუხი NSHTTPURLResponse-ად და შეამოწმეთ statusCode. გამოიყენეთ NSURLSession დელეგატის მეთოდები უფრო დეტალური მართვისთვის, მათ შორის ავტორიზაციის გამოწვევებისა და გადამისამართებებისთვის.
როგორ ვიმუშაოთ completion block-ებთან NSURLSession-ში?
NSURLSession იყენებს block-ზე დაფუძნებულ callback-ებს: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. ყოველთვის გამოიძახეთ [task resume] დასაწყებად. თანმიმდევრული მოთხოვნებისთვის გამოიყენეთ ჩადგმული block-ები ან dispatch group-ები dispatch_group_notify-თან ერთად.
როგორ დავაყენოთ timeout-ები Objective-C-ში?
დააყენეთ NSURLSessionConfiguration-ზე: config.timeoutIntervalForRequest = 30 და config.timeoutIntervalForResource = 300. ან თითო მოთხოვნაზე: request.timeoutInterval = 30. Timeout შეცდომები მოდის როგორც NSURLErrorTimedOut error პარამეტრში. ეს შეესაბამება curl-ის --max-time ოფციას.
როგორ გამოვიყენოთ proxy NSURLSession-თან?
დააყენეთ connectionProxyDictionary NSURLSessionConfiguration-ზე ისეთი გასაღებებით, როგორიცაა (NSString *)kCFNetworkProxiesHTTPProxy და პორტი. NSURLSession ნაგულისხმევად ითვალისწინებს სისტემურ proxy პარამეტრებს macOS-სა და iOS-ზე. PAC ფაილებისთვის კონფიგურაცია მოახდინეთ სისტემური პარამეტრებიდან.
როგორ გავაგზავნოთ POST მოთხოვნა JSON ტანით Objective-C ენაზე?
გადაიყვანეთ curl POST ბრძანება, როგორიცაა curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL, Objective-C ენაზე curl2code გამოყენებით. გენერირებული კოდი იყენებს [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]. curl2code ავტომატურად ამოიცნობს -d/--data ფლაგებს JSON კონტენტით და ადგენს შესაბამის Content-Type ჰედერს NSURLSession კოდში.
როგორ დავამატოთ Bearer token ავტორიზაცია Objective-C ენაზე?
მიაწოდეთ curl -H "Authorization: Bearer YOUR_TOKEN" URL ბრძანება curl2code ხელსაწყოს და ის დააგენერირებს NSURLSession კოდს ავტორიზაციის ჰედერით: [request setValue:@"Bearer TOKEN" forHTTPHeaderField:@"Authorization"]. curl2code ამოიცნობს Bearer ტოკენებს როგორც -H "Authorization: Bearer ...", ისე --oauth2-bearer ფლაგებიდან. Basic auth-ისთვის გამოიყენეთ -u user:pass.
როგორ განვსაზღვროთ Content-Type ჰედერი Objective-C ენაზე?
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 შეცდომის კოდები
მოძებნეთ ნებისმიერი curl გასვლის კოდი — მიზეზები, გამოსწორებები და გამართვის რჩევები.
ფაილების ჩამოტვირთვა curl-ით
შეინახეთ ფაილები -o, -O პარამეტრებით, მიჰყევით გადამისამართებებს, განაახლეთ ჩამოტვირთვები და სხვა.
SSL, TLS და პროქსი
სერტიფიკატების, TLS ვერსიების, HTTP/SOCKS პროქსების და მორგებული DNS-ის კონფიგურაცია.