cURL থেকে কোড

curl কমান্ড পেস্ট করুন, এটি যে রিকোয়েস্ট পাঠায় তা দেখুন, তারপর সাতটি ভাষায় কোড হিসেবে কপি করুন।

পার্সিং ও কোড তৈরি এই ব্রাউজার ট্যাবেই হয়। কিছুই আপলোড, সংরক্ষণ বা পাঠানো হয় না — আমাদের কাছেও নয়।

রিকোয়েস্টের সারসংক্ষেপ ও কোড দেখতে উপরে একটি curl কমান্ড পেস্ট করুন।

কীভাবে ব্যবহার করবেন

  1. একটি curl কমান্ড পেস্ট করুন — DevTools (Copy as cURL), API ডকুমেন্টেশন বা চ্যাট থেকে। লেখার সঙ্গে সঙ্গে কোড দেখা যায়।
  2. আগে সারসংক্ষেপের লাইনটি পড়ুন: মেথড, URL, হেডারের সংখ্যা ও বডির সাইজ। সারসংক্ষেপ ঠিক থাকলে নিচের কোডও ঠিক।
  3. লক্ষ্য ভাষা বাছুন; কোড ও ডাউনলোডের ফাইল নাম বদলায়, আপনার কমান্ডে হাত পড়ে না।
  4. সতর্কবার্তাগুলো কোডে যা ধরা পড়েনি তা দেখায় — প্রক্সি, রিডাইরেক্ট, শেল ভেরিয়েবল। ত্রুটি অর্ধেক রিকোয়েস্ট দেখানোর বদলে তৈরি হওয়াই থামিয়ে দেয়।
  5. রিসেট ইনপুট মুছে 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 ক্লায়েন্ট ব্যবহার করুন।

কমান্ড রূপান্তরের পর কাজে লাগে।