cURL পার্সার
cURL কমান্ডকে সংগঠিত উপাদানে পার্স করুন। URL, মেথড, হেডার, বডি, অথ বের করুন এবং JavaScript fetch() ও axios সমতুল্য কোড তৈরি করুন।
অবৈধ cURL
cURL পার্সার ব্যবহারের পদ্ধতি
cURL কমান্ড পেস্ট করুন
ব্রাউজার DevTools থেকে একটি cURL কমান্ড কপি করুন (কোনো রিকোয়েস্টে রাইট-ক্লিক করে "Copy as cURL") এবং ইনপুট এরিয়ায় পেস্ট করুন।
উপাদান পার্স করুন
কমান্ডটি স্বয়ংক্রিয়ভাবে URL, মেথড, হেডার, বডি, অথ এবং কুকিজে ভাঙা হয়।
কোড নিন
আপনার JavaScript প্রজেক্টে ব্যবহারের জন্য জেনারেট করা fetch() বা axios কোড কপি করুন।
cURL কী?
cURL (Client URL) হলো বিভিন্ন প্রোটোকলে ডেটা স্থানান্তরের একটি কমান্ড-লাইন টুল ও লাইব্রেরি। API পরীক্ষা, HTTP রিকোয়েস্ট ডিবাগিং এবং ডেটা স্থানান্তর অটোমেশনে এটি ব্যাপকভাবে ব্যবহৃত হয়। ব্রাউজার ডেভেলপার টুলস নেটওয়ার্ক রিকোয়েস্টকে cURL কমান্ড হিসেবে এক্সপোর্ট করতে পারে, যার ফলে HTTP রিকোয়েস্ট শেয়ার ও পুনরুৎপাদন সহজ হয়।
কমান্ড-লাইন টুল
cURL হলো HTTP, HTTPS, FTP সহ বিভিন্ন প্রোটোকলে ডেটা স্থানান্তরের একটি কমান্ড-লাইন টুল।
ব্রাউজার DevTools এক্সপোর্ট
বেশিরভাগ ব্রাউজার DevTools-এ নেটওয়ার্ক রিকোয়েস্টে রাইট-ক্লিক করে "Copy as cURL" করলে সঠিক কমান্ড পাওয়া যায়।
কোড রূপান্তর
cURL কমান্ডকে JavaScript fetch() বা axios কোডে রূপান্তর করুন যাতে ওয়েব অ্যাপ্লিকেশনে সহজে ইন্টিগ্রেট করা যায়।
সাধারণ জিজ্ঞাসা
হ্যাঁ। টুলটি cURL কমান্ডকে JavaScript fetch() এবং axios কোড স্নিপেটে রূপান্তর করে। জেনারেট করা কোড মূল cURL কমান্ডের URL, মেথড, হেডার এবং বডি সংরক্ষণ করে।
হ্যাঁ। এটি -d/--data, --data-raw এবং --data-binary ফ্ল্যাগ পার্স করে, JSON পেলোডসহ। JSON বডি ডেটা জেনারেট করা কোডে সঠিক ইনডেন্টেশনসহ স্বয়ংক্রিয়ভাবে ফরম্যাট হয়।
সাধারণ ফ্ল্যাগগুলোর মধ্যে রয়েছে -X (মেথড), -H (হেডার), -d (ডেটা), -b (কুকিজ), -u (অথ), -k (insecure), -L (রিডাইরেক্ট ফলো), --compressed ইত্যাদি। জটিল বা অস্বাভাবিক ফ্ল্যাগ সম্পূর্ণ পার্স নাও হতে পারে।
টুলটি ফ্ল্যাগগুলোকে PHP-এর curl API-তে ম্যাপ করে: URL যায় CURLOPT_URL-এ, প্রতিটি -H যায় CURLOPT_HTTPHEADER-এ, -d যায় CURLOPT_POSTFIELDS-এ এবং -u যায় CURLOPT_USERPWD-এ। কমান্ড পেস্ট করুন, জেনারেট করা স্নিপেট কপি করুন - বয়লারপ্লেট (RETURNTRANSFER, এরর হ্যান্ডলিং) আপনার জন্য তৈরি হয়ে যায়।
-H 'Content-Type: application/json' একটি হেডার যোগ করে; প্রতিটি অতিরিক্ত হেডারের জন্য -H পুনরাবৃত্ত করুন, সবগুলোই পাঠানো হয়। -H মান ছাড়া নাম দিয়ে হেডার সরাতেও পারে (-H 'User-Agent:') বা শেষে সেমিকোলন দিয়ে খালি মান পাঠাতে পারে। একাধিক -H ফ্ল্যাগ ক্রম বজায় রাখে, যা কিছু API-এর জন্য গুরুত্বপূর্ণ।
HTTP Basic হলো -u user:password (curl এটি base64-এনকোড করে Authorization হেডারে রাখে)। বিয়ারার টোকেন হেডার হিসেবে যায়: -H 'Authorization: Bearer <token>'। API কী সার্ভিস অনুযায়ী হেডার বা কোয়েরি প্যারামিটার হিসেবে থাকে। সতর্কতা: কমান্ড লাইনের সিক্রেট শেল হিস্ট্রিতে থেকে যায় - netrc ফাইল বা এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করা ভালো।
-d ডেটা application/x-www-form-urlencoded হিসেবে পাঠায় এবং নিউলাইন সরিয়ে দেয়; --data-binary পেলোড হুবহু পাঠায়, যা JSON API-র প্রয়োজন; -F একটি multipart/form-data রিকোয়েস্ট তৈরি করে, ফাইল আপলোডের একমাত্র বিকল্প। GET-স্টাইল প্যারামিটারে -G-এর সাথে -d ব্যবহার হয়, যা ডেটাকে URL কোয়েরি স্ট্রিংয়ে সরিয়ে নেয়।
সাধারণত কোটিং: শেল curl দেখার আগেই কোট সরিয়ে নেয়, কিন্তু লক্ষ্য ভাষা সেগুলো নতুন করে ব্যাখ্যা করে - শেলে নিরাপদ সিঙ্গেল কোট JavaScript-এ ভিন্ন ব্যবস্থাপনা চায়। অন্যান্য ফাঁদ: মাল্টিলাইন কমান্ডের লাইন-শেষ ব্যাকস্ল্যাশ, কিছু ভাষায় URL-এর পার্সেন্ট চিহ্ন %-ফরম্যাটিং ভেঙে দেওয়া, আর -b/-c দ্বারা উল্লিখিত কুকি ফাইল যা নতুন এনভায়রনমেন্টে নেই।
সম্পর্কিত সরঞ্জাম
প্রামাণ্য রেফারেন্স
এই সরঞ্জামের পেছনের মূল উৎস — দ্বিতীয় হাতের সারাংশ নয়, বরং অফিসিয়াল স্ট্যান্ডার্ড ও স্পেসিফিকেশন।