cURL কনভার্টার: cURL থেকে Fetch, Python, Axios ও আরও
একটি curl কমান্ড পেস্ট করুন, যেমন ব্রাউজারের DevTools থেকে কপি করা, আর ৮টি ভাষায় চালানোর উপযোগী কোড পান। হেডার, JSON বডি, ফর্ম, ফাইল আপলোড, অথেন্টিকেশন ও কুকি সবই রূপান্তরিত হয়।
ব্রাউজারেই চলেসাইন-আপ লাগে নাকিছুই আপলোড হয় না
cURL কনভার্টার কীভাবে ব্যবহার করবেন
- রিকোয়েস্টটি cURL হিসেবে কপি করুন: Chrome বা Firefox DevTools-এর Network ট্যাবে রিকোয়েস্টে রাইট-ক্লিক → Copy → Copy as cURL।
- ইনপুট বক্সে পেস্ট করুন।
\দিয়ে একাধিক লাইনের কমান্ড, Windows-এর^লাইন-সংযোগ ও$'…'স্ট্রিং সমর্থিত। - টার্গেট বেছে নিন: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP বা HTTPie।
- আউটপুটের নিচের সতর্কবার্তাগুলো পড়ুন। সেখানে এমন অপশনের তালিকা থাকে যেগুলোর টার্গেট ভাষায় সমতুল্য কিছু নেই।
- কোড কপি করুন বা ফাইল হিসেবে ডাউনলোড করুন।
কেন curl কমান্ডকে কোডে রূপান্তর করবেন?
curl হলো HTTP-এর সাধারণ ভাষা। API ডকুমেন্টেশন উদাহরণ দেয় curl-এ, ব্রাউজারের DevTools রিকোয়েস্ট এক্সপোর্ট করে curl হিসেবে, আর সাপোর্ট টিম সমস্যা পুনরুৎপাদনের জন্য curl পাঠায়। সেই রিকোয়েস্ট অ্যাপ্লিকেশনে ব্যবহার করতে চাইলে আপনাকে হাতে নতুন করে লিখতে হয়: প্রতিটি -H একটি headers অবজেক্টে সরানো, -d-কে বডিতে পরিণত করা, -u-কে basic auth-এ রূপান্তর করা এবং মনে রাখা যে -G ডেটাকে কোয়েরি স্ট্রিংয়ে সরিয়ে দেয়। এই কনভার্টার সেই রূপান্তর আপনার হয়ে করে এবং এমন কোড তৈরি করে যা সরাসরি প্রজেক্টে পেস্ট করা যায়।
সমর্থিত curl অপশন
| অপশন | যাতে রূপান্তরিত হয় |
|---|---|
-X, -I, -G | HTTP মেথড (বডি থাকলে POST ধরে নেওয়া হয়) |
-H, -A, -e, -b | হেডার, User-Agent, Referer ও কুকি |
-d, --data-raw, --data-binary, --data-urlencode, --json | রিকোয়েস্ট বডি: JSON অবজেক্ট, ফর্ম ফিল্ড বা raw টেক্সট |
-F | Multipart ফর্ম ডেটা, @file আপলোডসহ |
-u, --oauth2-bearer | Basic auth বা Bearer টোকেন |
-k, -L, -m, -x, --compressed | TLS যাচাই, রিডাইরেক্ট, টাইমআউট, প্রক্সি ও কমপ্রেশন |
JSON বডি আসল অবজেক্টে পরিণত হয়
যখন রিকোয়েস্ট JSON পাঠায় (Content-Type: application/json হেডার, --json, অথবা JSON হিসেবে পার্স হয় এমন বডি), তখন কনভার্টার এস্কেপ করা স্ট্রিংয়ের বদলে নেটিভ ডেটা স্ট্রাকচার তৈরি করে: fetch-এর জন্য JSON.stringify({...}), Axios-এর জন্য সাধারণ অবজেক্ট, আর requests ও httpx-এর জন্য Python dict সহ json= (True, False, None)। এতে payload সম্পাদনা করা ও ভেরিয়েবল বসানো সহজ হয়।
যে পার্থক্যগুলো মনে রাখবেন
ব্রাউজার সার্টিফিকেট যাচাই বন্ধ করতে বা একটি রিকোয়েস্টকে প্রক্সির মধ্য দিয়ে পাঠাতে পারে না, তাই ব্রাউজারের fetch কোডে -k ও -x শুধু কমেন্ট হিসেবে থাকে। -L না দিলে curl রিডাইরেক্ট অনুসরণ করে না, অথচ fetch, requests ও Go ডিফল্টভাবে অনুসরণ করে। Content-Type ছাড়া -d দিয়ে পাঠানো বডি curl ফর্ম-এনকোড করে; সেটি JSON মনে হলে কনভার্টার JSON হিসেবে পাঠায় এবং একটি সতর্কবার্তায় তা জানায়।
সচরাচর জিজ্ঞাসিত প্রশ্ন
আমার curl কমান্ড কি কোনো সার্ভারে পাঠানো হয়?
Chrome থেকে রিকোয়েস্ট cURL হিসেবে কীভাবে কপি করব?
ফাইল আপলোড কি সামলায়?
-F name=@file JavaScript-এ FormData, Python-এ files= dict, Go-তে mime/multipart এবং PHP-তে CURLFile হয়ে যায়। -d @file ও -T file ফাইল থেকে রিকোয়েস্ট বডি পড়ে।কনভার্টার যে অপশন চেনে না, সেগুলোর কী হয়?
-s, -v বা -o-এর মতো শুধু আউটপুট-সংক্রান্ত ফ্ল্যাগ উপেক্ষা করা হয়, কারণ এগুলো রিকোয়েস্ট বদলায় না।