curl-কে C-এ রূপান্তর করুন

curl2code libcurl ব্যবহার করে curl কমান্ডগুলোকে C কোডে রূপান্তর করে। সম্পূর্ণ গোপনীয়তার জন্য রূপান্তরটি WebAssembly-এর মাধ্যমে আপনার ব্রাউজারে চলে। Rust-এর জন্য আমাদের curl to Rust converter দেখুন। Go-এর জন্য curl to Go দেখুন। নিচে সঠিক মেমরি ম্যানেজমেন্টসহ ব্যবহারিক C উদাহরণ দেওয়া হলো।

আপনার ব্রাউজার থেকে কীভাবে curl কপি করবেন

  1. 1

    DevTools ওপেন করুন

    আপনার ব্রাউজার ডেভেলপার টুলস ওপেন করতে F12 অথবা Ctrl+Shift+I চাপুন।

  2. 2

    Network ট্যাবে যান

    Network ট্যাবে ক্লিক করুন এবং সেই কাজটি করুন যা HTTP রিকোয়েস্টটি ট্রিগার করে।

  3. 3

    cURL হিসেবে কপি করুন

    রিকোয়েস্টের ওপর রাইট-ক্লিক করুন → CopyCopy as cURL। তারপর এটি উপরে পেস্ট করুন।

সচরাচর জিজ্ঞাসিত প্রশ্নাবলী

libcurl কী?

libcurl হলো curl কমান্ড-লাইন টুলের পেছনের C লাইব্রেরি। এটি বর্তমানে বিদ্যমান সবচেয়ে পোর্টেবল এবং ব্যাপকভাবে ব্যবহৃত HTTP ক্লায়েন্ট লাইব্রেরি, যা ২৫টিরও বেশি প্রোটোকল সমর্থন করে। এটি হাজার হাজার অ্যাপ্লিকেশন এবং এমবেডেড সিস্টেমে ব্যবহৃত হয়। আপনার সিস্টেম প্যাকেজ ম্যানেজার দিয়ে এটি যুক্ত করুন বা স্ট্যাটিকভাবে লিঙ্ক করুন। curl2code easy ইন্টারফেস ব্যবহার করে libcurl C কোড জেনারেট করে।

libcurl easy বনাম multi ইন্টারফেস — কোনটি ব্যবহার করবেন?

easy ইন্টারফেস (curl_easy_*) সিঙ্গেল সিনক্রোনাস ট্রান্সফারের জন্য — যা সহজ এবং সরাসরি। multi ইন্টারফেস (curl_multi_*) একটি সিঙ্গেল থ্রেডে নন-ব্লকিং কনকারেন্ট ট্রান্সফার সক্ষম করে। স্ক্রিপ্ট এবং সাধারণ টুলের জন্য easy ব্যবহার করুন, হাই-পারফরম্যান্স অ্যাপ্লিকেশনের জন্য multi ব্যবহার করুন। উচ্চ-স্তরের C-ফ্যামিলি ল্যাঙ্গুয়েজের জন্য curl to Rust দেখুন।

libcurl-এর মাধ্যমে অথেন্টিকেশন কীভাবে পরিচালনা করবেন?

Bearer-এর জন্য: curl_slist_append(headers, "Authorization: Bearer token") দিয়ে একটি কাস্টম হেডার সেট করুন। Basic অথেন্টিকেশনের জন্য: curl_easy_setopt(curl, CURLOPT_USERPWD, "user:pass")। libcurl স্বয়ংক্রিয়ভাবে Basic অথেন্টিকেশন ক্রেডেনশিয়াল এনকোড করে। curl2code -u এবং হেডার ফ্ল্যাগগুলোকে সঠিক C API কলে রূপান্তর করে।

libcurl-এর মাধ্যমে কীভাবে মাল্টিপার্ট ফর্ম ডেটা পাঠাবেন?

MIME API (libcurl 7.56+) ব্যবহার করুন: একটি mime স্ট্রাকচার তৈরি করতে curl_mime_init(), প্রতিটি ফিল্ডের জন্য curl_mime_addpart(), এবং ফাইল আপলোডের জন্য curl_mime_name()curl_mime_filedata() ব্যবহার করুন। CURLOPT_MIMEPOST দিয়ে সেট করুন। curl_mime_free() দিয়ে মেমরি ফ্রি করুন।

libcurl-এর এরর কীভাবে পরিচালনা করবেন?

প্রতিটি curl_easy_* ফাংশন একটি CURLcode রিটার্ন করে — এটি CURLE_OK কিনা তা পরীক্ষা করুন। মানুষের পাঠযোগ্য মেসেজের জন্য curl_easy_strerror(code) ব্যবহার করুন। বিস্তারিত এরর স্ট্রিংয়ের জন্য CURLOPT_ERRORBUFFER সেট করুন। curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code) দিয়ে HTTP স্ট্যাটাস পান।

libcurl-এ মেমরি কীভাবে ম্যানেজ করবেন?

হ্যান্ডেলের কাজ শেষ হলে সর্বদা curl_easy_cleanup() কল করুন। curl_slist_free_all() দিয়ে হেডার লিস্ট ফ্রি করুন। curl_mime_free() দিয়ে MIME স্ট্রাকচার ফ্রি করুন। রাইট কলব্যাকের জন্য আপনার নিজস্ব বাফার অ্যালোকেশন ম্যানেজ করুন। প্রোগ্রাম শেষ করার সময় একবার curl_global_cleanup() কল করুন। রিসোর্স ফ্রি করতে ব্যর্থ হলে মেমরি লিক হতে পারে।

libcurl-এ টাইমআউট কীভাবে সেট করবেন?

কানেকশন টাইমআউটের জন্য CURLOPT_CONNECTTIMEOUT এবং মোট ট্রান্সফার সময়ের জন্য CURLOPT_TIMEOUT সেট করুন (উভয়ই সেকেন্ডে)। মিলিসেকেন্ড প্রিসিশনের জন্য CURLOPT_CONNECTTIMEOUT_MS এবং CURLOPT_TIMEOUT_MS ব্যবহার করুন। এগুলো curl CLI-তে ব্যবহৃত --connect-timeout এবং --max-time অপশনের মতোই।

libcurl-এ প্রক্সি কীভাবে কনফিগার করবেন?

CURLOPT_PROXY-কে প্রক্সি URL-এ সেট করুন: curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:8080")। SOCKS5-এর জন্য: CURLOPT_PROXYTYPE-কে CURLPROXY_SOCKS5 সেট করুন। প্রক্সি অথেন্টিকেশনের জন্য: CURLOPT_PROXYUSERPWD। libcurl http_proxy এনভায়রনমেন্ট ভেরিয়েবলও মেনে চলে।

C-তে JSON বডি সহ একটি POST রিকোয়েস্ট কীভাবে পাঠাবেন?

curl2code ব্যবহার করে curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL এর মতো একটি curl POST কমান্ডকে C-তে রূপান্তর করুন। জেনারেট করা কোড curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string) ব্যবহার করে। curl2code স্বয়ংক্রিয়ভাবে JSON কন্টেন্ট সহ -d/--data ফ্ল্যাগ শনাক্ত করে এবং libcurl কোডে উপযুক্ত Content-Type হেডার সেট করে।

C-তে Bearer token অথরাইজেশন কীভাবে যোগ করবেন?

curl2code-এ curl -H "Authorization: Bearer YOUR_TOKEN" URL পাস করুন এবং এটি অথরাইজেশন হেডার সহ libcurl কোড জেনারেট করে: struct curl_slist *headers = curl_slist_append(NULL, "Authorization: Bearer TOKEN")। curl2code -H "Authorization: Bearer ..." এবং --oauth2-bearer উভয় ফ্ল্যাগ থেকে Bearer token শনাক্ত করে। Basic auth এর জন্য -u user:pass ব্যবহার করুন।

C-তে Content-Type হেডার কীভাবে সেট করবেন?

curl2code curl -H "Content-Type: application/json" URL কমান্ডকে সঠিক হেডার সহ libcurl কোডে রূপান্তর করে: curl_slist_append(headers, "Content-Type: application/json")-d ডেটার জন্য curl ডিফল্টভাবে application/x-www-form-urlencoded ব্যবহার করে; -F ফর্ম আপলোডের জন্য এটি multipart/form-data ব্যবহার করে। curl2code প্রতিটি রিকোয়েস্টকে সঠিক libcurl API-তে ম্যাপ করে।

প্রয়োজনীয় লিঙ্ক

curl গাইড

curl-কে অন্যান্য ভাষায় রূপান্তর করুন