IOS में http अनुरोध करने के लिए हम DataTask और सेशन का उपयोग करेंगे। हम कॉन्फ़िगरेशन, सत्र, url, अनुरोध और डेटा टास्क ऑब्जेक्ट बनाएंगे। आइए उन चरणों को देखें जिनसे हम गुज़रेंगे।
-
सबसे पहले हमें एक सत्र ऑब्जेक्ट बनाने की आवश्यकता है, जो डिफ़ॉल्ट कॉन्फ़िगरेशन है।
-
फिर हमें एक URL Request बनाने की आवश्यकता है जिस प्रकार की हमें आवश्यकता है, इसे प्राप्त, पोस्ट, डिलीट या पुट किया जा सकता है। इस उदाहरण में हम "POST" प्रकार देख रहे हैं।
url =URL (स्ट्रिंग:URLString) दें // url =NSURL (स्ट्रिंग:urlString स्ट्रिंग के रूप में) var अनुरोध करें:URLRequest =URLRequest (url:url!) अनुरोध।httpMethod ="POST"request.addValue("application /json", forHTTPHeaderField:"Content-Type")request.addValue("application/json", forHTTPHeaderField:"Accept")
-
एक बार जब हम अनुरोध वस्तु बना लेते हैं, तो हमें डेटाटास्क को निष्पादित करने की आवश्यकता होती है, यूआरएल के साथ हमने अभी ऊपर बनाया है। इस तरह हमारा पूरा डेटा टास्क पद्धति अब इस तरह दिखनी चाहिए।
डेटा टास्क =सत्र। डेटा टास्क (साथ:यूआरएल!) {डेटा, प्रतिक्रिया, गार्ड में त्रुटि httpResponse =प्रतिक्रिया के रूप में दें? HTTPURLResponse, प्राप्त डेटा =डेटा अन्य {प्रिंट ("त्रुटि:मान्य http प्रतिक्रिया नहीं") वापसी} स्विच (httpResponse.statusCode) {केस 200:// सफलता प्रतिक्रिया। ब्रेक केस 400:ब्रेक डिफॉल्ट:ब्रेक }}dataTask.resume()
-
अब हम इसे एक फ़ंक्शन में एम्बेड कर सकते हैं और हमारे कोड में उपयोग कर सकते हैं।
func HitAPI(_for URLString:String) { कॉन्फ़िगरेशन =URLSessionConfiguration.default चलो सत्र =URLSession (कॉन्फ़िगरेशन:कॉन्फ़िगरेशन) दें url =URL (स्ट्रिंग:URLString) // url =NSURL (स्ट्रिंग:urlString को स्ट्रिंग के रूप में) var दें अनुरोध:URLRequest =URLRequest (url:url!) अनुरोध। ") dataTask =session.dataTask (साथ:url!) {डेटा, प्रतिक्रिया, त्रुटि // 1 में:सफल GET अनुरोध गार्ड के लिए HTTP प्रतिक्रिया की जाँच करें httpResponse =प्रतिक्रिया के रूप में दें? HTTPURLResponse, प्राप्त डेटा =डेटा अन्य {प्रिंट ("त्रुटि:मान्य http प्रतिक्रिया नहीं") वापसी} स्विच (httpResponse.statusCode) {केस 200:// सफलता प्रतिक्रिया। ब्रेक केस 400:ब्रेक डिफॉल्ट:ब्रेक } } dataTask.resume()}
नोट :आपको कुछ एपीआई तक पहुंचने के लिए अपनी info.plist फ़ाइल में परिवहन सुरक्षा अपवादों को अनुमति देने की आवश्यकता हो सकती है।
इस उदाहरण के साथ कोई आउटपुट नहीं दिखाया गया है क्योंकि कुछ डेटा पोस्ट करने के लिए एपीआई की आवश्यकता होती है।