curl-কে Dart-এ রূপান্তর করুন
http প্যাকেজ ব্যবহার করে curl কমান্ডগুলোকে Dart কোডে রূপান্তর করুন। curl2code সম্পূর্ণভাবে WebAssembly-এর মাধ্যমে আপনার ব্রাউজারে চলে — আপনার ডেটা গোপন থাকে। Kotlin-এর জন্য আমাদের curl to Kotlin converter ব্যবহার করে দেখুন। Swift-এর জন্য curl to Swift দেখুন। নিচে Flutter-এর জন্য ব্যবহারের জন্য প্রস্তুত Dart উদাহরণ দেওয়া হলো।
আপনার ব্রাউজার থেকে কীভাবে curl কপি করবেন
- 1
DevTools ওপেন করুন
আপনার ব্রাউজার ডেভেলপার টুলস ওপেন করতে F12 অথবা Ctrl+Shift+I চাপুন।
- 2
Network ট্যাবে যান
Network ট্যাবে ক্লিক করুন এবং সেই কাজটি করুন যা HTTP রিকোয়েস্টটি ট্রিগার করে।
- 3
cURL হিসেবে কপি করুন
রিকোয়েস্টের ওপর রাইট-ক্লিক করুন → Copy → Copy as cURL। তারপর এটি উপরে পেস্ট করুন।
সচরাচর জিজ্ঞাসিত প্রশ্নাবলী
Dart http প্যাকেজ কী?
http প্যাকেজ হলো Dart এবং Flutter-এর জন্য সুপারিশকৃত HTTP ক্লায়েন্ট। এটি GET, POST, মাল্টিপার্ট আপলোড এবং স্ট্রিমিংয়ের জন্য একটি সহজ, Future-ভিত্তিক API প্রদান করে। dart pub add http দিয়ে ইনস্টল করুন। এটি সমস্ত Dart প্ল্যাটফর্মে কাজ করে — মোবাইল, ওয়েব এবং সার্ভার। curl2code এটিকে Dart কনভার্সনের জন্য ডিফল্ট হিসেবে ব্যবহার করে।
http বনাম dio বনাম HttpClient — কোনটি ব্যবহার করা উচিত?
http সহজ এবং লাইটওয়েট — বেসিক রিকোয়েস্টের জন্য চমৎকার। dio ইন্টারসেপ্টর, FormData, ডাউনলোড প্রগ্রেস এবং ক্যানসেলেশন সুবিধা যোগ করে। HttpClient (dart:io) লো-লেভেল এবং বিল্ট-ইন কিন্তু কোড বেশি লিখতে হয়। ইন্টারসেপ্টর প্রয়োজন এমন Flutter অ্যাপের জন্য dio বেছে নিন। অনুরূপ মোবাইল ক্লায়েন্টের জন্য curl to Kotlin বা curl to Swift দেখুন।
Dart-এ অথেন্টিকেশন কীভাবে পরিচালনা করবেন?
রিকোয়েস্টে হেডার পাস করুন: http.get(url, headers: { "Authorization": "Bearer $token" })। Basic অথেন্টিকেশনের জন্য base64Encode(utf8.encode("$user:$pass")) দিয়ে এনকোড করুন। curl2code -u এবং -H 'Authorization' ফ্ল্যাগগুলোকে সঠিকভাবে টাইপ করা হেডারসহ Dart কোডে রূপান্তর করে।
Dart-এ কীভাবে মাল্টিপার্ট ফর্ম ডেটা পাঠাবেন?
http.MultipartRequest ব্যবহার করুন: রিকোয়েস্ট তৈরি করুন, request.fields['key'] = 'value' দিয়ে ফিল্ড যোগ করুন এবং request.files.add(await http.MultipartFile.fromPath('file', path)) দিয়ে ফাইল যোগ করুন। তারপর request.send() দিয়ে পাঠান। curl2code -F ফ্ল্যাগগুলোকে এই প্যাটার্নে রূপান্তর করে।
Dart-এ HTTP এরর কীভাবে পরিচালনা করবেন?
http প্যাকেজ HTTP এররের জন্য এক্সেপশন থ্রো করে না — ম্যানুয়ালি response.statusCode চেক করুন। SocketException (নেটওয়ার্ক এরর) এবং TimeoutException-এর জন্য কলগুলোকে try/catch-এ র্যাপ করুন। দীর্ঘস্থায়ী অ্যাপ্লিকেশনে সঠিক রিসোর্স ক্লিনআপের জন্য http.Client সহ close() ব্যবহার করুন।
Dart HTTP-এর সাথে async/await কীভাবে ব্যবহার করবেন?
সমস্ত Dart HTTP মেথড Future রিটার্ন করে — final response = await http.get(Uri.parse(url)) ব্যবহার করুন। Dart-এর async/await ল্যাঙ্গুয়েজের মধ্যেই বিল্ট-ইন। প্যারালাল রিকোয়েস্টের জন্য Future.wait([request1, request2]) ব্যবহার করুন। অনুরূপ async প্যাটার্নের জন্য curl to TypeScript বা curl to Swift দেখুন।
Dart-এ টাইমআউট কীভাবে সেট করবেন?
যেকোনো Future-এ .timeout() মেথড ব্যবহার করুন: http.get(url).timeout(Duration(seconds: 30))। সময় অতিক্রম করলে এটি TimeoutException থ্রো করে। আরও নিয়ন্ত্রণের জন্য একটি http.Client তৈরি করুন এবং HttpClient সহ dart:io-এর আন্ডারলায়িং connectionTimeout-এর মাধ্যমে কনফিগার করুন।
Dart-এ প্রক্সি কীভাবে ব্যবহার করবেন?
dart:io থেকে HttpClient ব্যবহার করুন: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080'। http প্যাকেজের জন্য কনফিগার করা IOClient-কে র্যাপ করে একটি কাস্টম HttpClient তৈরি করুন। Dart HTTP_PROXY এবং NO_PROXY এনভায়রনমেন্ট ভেরিয়েবলও মেনে চলে।
Dart-এ JSON বডি সহ একটি POST রিকোয়েস্ট কীভাবে পাঠাবেন?
curl2code ব্যবহার করে curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL এর মতো একটি curl POST কমান্ডকে Dart-এ রূপান্তর করুন। জেনারেট করা কোড http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/json'}) ব্যবহার করে। curl2code স্বয়ংক্রিয়ভাবে JSON কন্টেন্ট সহ -d/--data ফ্ল্যাগ শনাক্ত করে এবং http কোডে উপযুক্ত Content-Type হেডার সেট করে।
Dart-এ Bearer token অথরাইজেশন কীভাবে যোগ করবেন?
curl2code-এ curl -H "Authorization: Bearer YOUR_TOKEN" URL পাস করুন এবং এটি অথরাইজেশন হেডার সহ http কোড জেনারেট করে: headers: {'Authorization': 'Bearer YOUR_TOKEN'}। curl2code -H "Authorization: Bearer ..." এবং --oauth2-bearer উভয় ফ্ল্যাগ থেকে Bearer token শনাক্ত করে। Basic auth এর জন্য -u user:pass ব্যবহার করুন।
Dart-এ Content-Type হেডার কীভাবে সেট করবেন?
curl2code curl -H "Content-Type: application/json" URL কমান্ডকে সঠিক হেডার সহ http কোডে রূপান্তর করে: headers: {'Content-Type': 'application/json'}। -d ডেটার জন্য curl ডিফল্টভাবে application/x-www-form-urlencoded ব্যবহার করে; -F ফর্ম আপলোডের জন্য এটি multipart/form-data ব্যবহার করে। curl2code প্রতিটি রিকোয়েস্টকে সঠিক http API-তে ম্যাপ করে।