cURL থেকে কোড
curl কমান্ড পেস্ট করুন, এটি যে রিকোয়েস্ট পাঠায় তা দেখুন, তারপর সাতটি ভাষায় কোড হিসেবে কপি করুন।
পার্সিং ও কোড তৈরি এই ব্রাউজার ট্যাবেই হয়। কিছুই আপলোড, সংরক্ষণ বা পাঠানো হয় না — আমাদের কাছেও নয়।
রিকোয়েস্টের সারসংক্ষেপ ও কোড দেখতে উপরে একটি curl কমান্ড পেস্ট করুন।
কীভাবে ব্যবহার করবেন
- একটি curl কমান্ড পেস্ট করুন — DevTools (Copy as cURL), API ডকুমেন্টেশন বা চ্যাট থেকে। লেখার সঙ্গে সঙ্গে কোড দেখা যায়।
- আগে সারসংক্ষেপের লাইনটি পড়ুন: মেথড, URL, হেডারের সংখ্যা ও বডির সাইজ। সারসংক্ষেপ ঠিক থাকলে নিচের কোডও ঠিক।
- লক্ষ্য ভাষা বাছুন; কোড ও ডাউনলোডের ফাইল নাম বদলায়, আপনার কমান্ডে হাত পড়ে না।
- সতর্কবার্তাগুলো কোডে যা ধরা পড়েনি তা দেখায় — প্রক্সি, রিডাইরেক্ট, শেল ভেরিয়েবল। ত্রুটি অর্ধেক রিকোয়েস্ট দেখানোর বদলে তৈরি হওয়াই থামিয়ে দেয়।
- রিসেট ইনপুট মুছে Python-এ ফিরে যায়; পেজ রিলোড করলেও তাই হয়।
উদাহরণ
কমান্ড
curl -X POST 'https://httpbin.org/anything?from=bn' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer demo-token' \ -d '{"name": "রফিক", "city": "ঢাকা"}'
Python
import requests url = "https://httpbin.org/anything?from=bn" headers = { "Content-Type": "application/json", "Authorization": "Bearer demo-token", } data = "{\"name\": \"রফিক\", \"city\": \"ঢাকা\"}".encode("utf-8") response = requests.request("POST", url, headers=headers, data=data) print(response.status_code) print(response.text)
উপরের সারসংক্ষেপ ও কোড ওই কমান্ড থেকেই তৈরি — এই টুল কখনো httpbin ডাকে না। সমর্থিত অংশ: মেথড, URL, হেডার, বডি, Basic/Bearer অথ এবং টাইমআউট।
নিয়ম, সীমাবদ্ধতা ও পরিচিত সমস্যা
- ফাইল আপলোড নেই: -F, -T ও @file ইনপুট বাতিল হয়, তাই কখনো এমন কোড পাবেন না যা নীরবে একটি ফাইল ফেলে দেয়।
- শেল চালানো হয় না: ভেরিয়েবল, কমান্ড সাবস্টিটিউশন, পাইপ ও একাধিক কমান্ড প্রসারিত হয় না; $TOKEN সতর্কবার্তাসহ যেমন আছে তেমন থাকে।
- কমান্ডে একটি URL: বাড়তি URL সতর্কবার্তাসহ উপেক্ষিত হয়, লুপে বদলায় না।
- ট্রান্সপোর্ট অপশন পুনরুত্পাদন হয় না: -L, -k, প্রক্সি, ক্লায়েন্ট সার্টিফিকেট, HTTP ভার্সন, রিট্রাই ও কম্প্রেশন কেবল সতর্কবার্তা দেয়। তৈরি কোড ক্লায়েন্টের ডিফল্ট ব্যবহার করে।
- curl-এর নিহিত ডিফল্ট নেই: User-Agent: curl/… ও Accept: */* যোগ হয় না; -A / -H দিয়ে নিজে বসান।
- কেবল POSIX কোটিং: একক কোট, দ্বৈত কোট, $'...' ও ব্যাকস্ল্যাশ লাইন কন্টিনিউয়েশন; Windows CMD-র এস্কেপিং পার্স হয় না।
- ডুপ্লিকেট হেডার Go, PHP, Java, C# ও Ruby-তে টেকে; Python ও JavaScript ডিকশনারি সেগুলো ", " দিয়ে মিলিয়ে দেয়।
- বডিসহ GET/HEAD রিকোয়েস্ট যেমন লেখা তেমনই তৈরি হয়, সতর্কবার্তাসহ — fetch তা অস্বীকার করে।
- ইতিহাস বা সংরক্ষণ নেই: রিলোড করলে সব মুছে যায়; শেয়ার বোতাম পেজের লিংক শেয়ার করে, আপনার কমান্ড কখনো নয়।
- এই টুল কেবল রূপান্তর করে; রিকোয়েস্ট কখনো পাঠায় না। উত্তরও দেখতে চাইলে API ক্লায়েন্ট ব্যবহার করুন।
সম্পর্কিত টুল
কমান্ড রূপান্তরের পর কাজে লাগে।