Swift:
একটি ওয়েবপেজ ডাউনলোড করা
কিভাবে:
URLSession
ব্যবহার করে এই কাজটি করা যাক। Swift এটি সরাসরি উপস্থাপন করে।
import Foundation
let url = URL(string: "https://www.example.com")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let error = error {
print("ত্রুটি:", error)
return
}
if let httpResponse = response as? HTTPURLResponse, (200...299).contains(httpResponse.statusCode) {
if let mimeType = httpResponse.mimeType, mimeType == "text/html",
let data = data, let string = String(data: data, encoding: .utf8) {
print("ডাউনলোড করা ওয়েব পেজের কন্টেন্ট:")
print(string)
} else {
print("অবৈধ MIME প্রকার বা এনকোডিং।")
}
} else {
print("সার্ভার ত্রুটি সহকারে সাড়া দিয়েছে।")
}
}
task.resume()
// নিশ্চিত করুন যে প্লেগ্রাউন্ডটি টাস্ক সম্পন্ন হওয়া অবধি চলমান থাকে
RunLoop.current.run()
নমুনা আউটপুট এরকম দেখাবে:
ডাউনলোড করা ওয়েব পেজের কন্টেন্ট:
<!doctype html>...
গভীরে যান
URLSession
API iOS 7 এবং macOS 10.9 থেকে মজুদ আছে। তা তখন খেলার মাঠ পরিবর্তন করেছিল, পুরনো, আরও জটিল NSURLConnection
কে প্রতিস্থাপন করে। যদিও URLSession
শক্তিশালী এবং নমনীয়, আপনি আরও জটিল নেটওয়ার্কিং প্রয়োজনীয়তা সমাধানের জন্য তৃতীয়-পক্ষের লাইব্রেরী
যেমন Alamofire বিবেচনা করতে পারেন।
বাস্তবায়নের সময় মনে রাখবেন যে নেটওয়ার্ক অনুরোধগুলি অ্যাসিঙ্ক্রোনাস। এর মানে হল আপনার অ্যাপ সার্ভার আপনাকে উত্তর দেওয়ার সময় অন্যান্য কাজ চালিয়ে যেতে পারে। তাছাড়া, URLSession
সঠিকভাবে ব্যবহার করা মানে ত্রুটিগুলি সুন্দরভাবে হ্যান্ডেল করা এবং সার্ভারের সাড়া স্থিতি পরীক্ষা করা। MIME প্রকার যাচাই করা গুরুত্বপূর্ণ যাতে আপনি HTML পাচ্ছেন, JSON বা ইমেজের মতো অন্যান্য ফাইল প্রকার না।
দেখুন এবং এক্সপ্লোর করুন
আরও গভীরে যান বা বিকল্পগুলি এক্সপ্লোর করুন:
- Apple এর
URLSession
ডকুমেন্টেশন: URLSession - Alamofire সাথে Swift নেটওয়ার্কিং: Alamofire
- iOS 15+ এ জন্য
URLSession
এসিন্ক/অ্যাওয়েট প্যাটার্ন: URLSession অ্যাসিন্ক/অ্যাওয়েট