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

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

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

  1. 1

    DevTools ওপেন করুন

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

  2. 2

    Network ট্যাবে যান

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

  3. 3

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

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

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

Rust reqwest কী?

reqwest হলো Rust-এর জন্য সবচেয়ে জনপ্রিয় HTTP ক্লায়েন্ট, যা hyper-এর ওপর ভিত্তি করে তৈরি। এটি ব্লকিং এবং অ্যাসিনক্রোনাস উভয় API, serde-এর মাধ্যমে স্বয়ংক্রিয় JSON সিরিয়ালাইজেশন, TLS, কুকি হ্যান্ডলিং এবং প্রক্সি সাপোর্ট প্রদান করে। cargo add reqwest --features json দিয়ে যোগ করুন। Rust কনভার্সনের জন্য curl2code এটি ডিফল্ট লাইব্রেরি হিসেবে ব্যবহার করে।

reqwest বনাম hyper বনাম ureq — কোনটি ব্যবহার করা উচিত?

reqwest বেশিরভাগ প্রজেক্টের জন্য সেরা পছন্দ — এটি হাই-লেভেল, ফিচার-সমৃদ্ধ এবং অ্যাসিনক্রোনাস। hyper হলো লো-লেভেল এবং এটি সর্বোচ্চ নিয়ন্ত্রণ প্রদান করে (reqwest এর ওপর ভিত্তি করেই তৈরি)। ureq হলো একটি মিনিমাল, শুধুমাত্র ব্লকিং ক্লায়েন্ট যার কোনো অ্যাসিনক্রোনাস রানটাইম ডিপেন্ডেন্সি নেই। অনুরূপ স্ট্যান্ডার্ড-লাইব্রেরি পদ্ধতির জন্য, curl to Go অথবা curl to C দেখুন।

Rust-এ অথেনটিকেশন কীভাবে হ্যান্ডেল করবেন?

Bearer-এর জন্য: client.get(url).bearer_auth(token)। Basic-এর জন্য: client.get(url).basic_auth(user, Some(pass))। অথবা .header("Authorization", value) দিয়ে ম্যানুয়ালি হেডার সেট করুন। curl2code -u এবং -H 'Authorization: ...' ফ্ল্যাগগুলোকে যথাযথ reqwest মেথডে কনভার্ট করে।

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

reqwest::multipart::Form ব্যবহার করুন: Form::new() দিয়ে তৈরি করুন, .text("key", "value") দিয়ে টেক্সট ফিল্ড এবং .file("field", path).await? দিয়ে ফাইল যোগ করুন। client.post(url).multipart(form)-এ পাস করুন। curl2code reqwest মাল্টিপার্টের জন্য -F ফ্ল্যাগগুলো হ্যান্ডেল করে।

Rust-এ HTTP এরর কীভাবে হ্যান্ডেল করবেন?

reqwest সাফল্যের ক্ষেত্রে Response অথবা ব্যর্থতায় reqwest::Error র‍্যাপ করা Result রিটার্ন করে — প্রপাগেশনের জন্য ? অপারেটর ব্যবহার করুন। response.status().is_success() চেক করুন অথবা response.error_for_status()? কল করুন যা non-2xx কোডকে এররে রূপান্তরিত করে। Rust-এর টাইপ সিস্টেম নিশ্চিত করে যে সমস্ত এরর পাথ কম্পাইল টাইমে স্পষ্টভাবে হ্যান্ডেল করা হয়েছে।

reqwest-এর জন্য কোন অ্যাসিনক্রোনাস রানটাইম প্রয়োজন?

reqwest-এর জন্য ডিফল্টভাবে tokio রানটাইম প্রয়োজন। আপনার মেইন ফাংশনে #[tokio::main] অ্যানোটেট করুন। অ্যাসিনক্রোনাস রানটাইম ছাড়া ব্লকিং ব্যবহারের জন্য, blocking ফিচারটি এনাবল করুন এবং reqwest::blocking::Client ব্যবহার করুন। curl2code ডিফল্টভাবে tokio সহ অ্যাসিনক্রোনাস কোড জেনারেট করে। অন্য কোনো অ্যাসিনক্রোনাস ইকোসিস্টেমের জন্য, curl to Go (goroutines) দেখুন।

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

ক্লায়েন্টে সেট করুন: Client::builder().timeout(Duration::from_secs(30)).connect_timeout(Duration::from_secs(10)).build()?। প্রতি রিকোয়েস্টে: client.get(url).timeout(Duration::from_secs(5))। এগুলো curl-এর --max-time এবং --connect-timeout ফ্ল্যাগের সাথে ম্যাপ করা হয়।

reqwest-এর সাথে প্রক্সি কীভাবে ব্যবহার করবেন?

ক্লায়েন্ট বিল্ডারে একটি প্রক্সি সেট করুন: Client::builder().proxy(Proxy::https("http://proxy:8080")?).build()?। এটি HTTP, HTTPS এবং SOCKS5 প্রক্সি সমর্থন করে। reqwest ডিফল্টভাবে HTTP_PROXY এবং HTTPS_PROXY এনভায়রনমেন্ট ভেরিয়েবলগুলোকেও সমর্থন করে। curl2code -x ফ্ল্যাগগুলোকে প্রক্সি কনফিগারেশনে কনভার্ট করে।

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

curl2code ব্যবহার করে curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL এর মতো একটি curl POST কমান্ডকে Rust-এ রূপান্তর করুন। জেনারেট করা কোড client.post(url).json(&data).send().await? ব্যবহার করে। curl2code স্বয়ংক্রিয়ভাবে JSON কন্টেন্ট সহ -d/--data ফ্ল্যাগ শনাক্ত করে এবং reqwest কোডে উপযুক্ত Content-Type হেডার সেট করে।

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

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

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

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

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

curl গাইড

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