curl-কে Elixir-এ রূপান্তর করুন
HTTPoison ব্যবহার করে curl কমান্ডগুলোকে Elixir কোডে রূপান্তর করুন। curl2code সম্পূর্ণভাবে WebAssembly-এর মাধ্যমে আপনার ব্রাউজারে চলে — আপনার ডেটা গোপন থাকে। Ruby-এর জন্য আমাদের curl to Ruby converter ব্যবহার করে দেখুন। Go-এর জন্য curl to Go দেখুন। নিচে ব্যবহারের জন্য প্রস্তুত Elixir উদাহরণ দেওয়া হলো।
আপনার ব্রাউজার থেকে কীভাবে curl কপি করবেন
- 1
DevTools ওপেন করুন
আপনার ব্রাউজার ডেভেলপার টুলস ওপেন করতে F12 অথবা Ctrl+Shift+I চাপুন।
- 2
Network ট্যাবে যান
Network ট্যাবে ক্লিক করুন এবং সেই কাজটি করুন যা HTTP রিকোয়েস্টটি ট্রিগার করে।
- 3
cURL হিসেবে কপি করুন
রিকোয়েস্টের ওপর রাইট-ক্লিক করুন → Copy → Copy as cURL। তারপর এটি উপরে পেস্ট করুন।
সচরাচর জিজ্ঞাসিত প্রশ্নাবলী
Elixir HTTPoison কী?
HTTPoison হলো Elixir-এর সবচেয়ে জনপ্রিয় HTTP ক্লায়েন্ট, যা Erlang-এর hackney লাইব্রেরির ওপর ভিত্তি করে তৈরি। এটি GET, POST, স্ট্রিমিং এবং async রিকোয়েস্টের জন্য একটি ক্লিন, ফাংশনাল API প্রদান করে। mix.exs deps-এ যুক্ত করুন: {:httpoison, "~> 2.0"}। curl2code Elixir কনভার্সনের জন্য ডিফল্ট হিসেবে HTTPoison ব্যবহার করে।
HTTPoison বনাম Req বনাম Tesla বনাম Finch — কোনটি ব্যবহার করবেন?
HTTPoison সবচেয়ে প্রতিষ্ঠিত এবং বহুল ব্যবহৃত। Req নতুন এবং এতে রিট্রাই ও অথেন্টিকেশন বিল্ট-ইন থাকে। Tesla Faraday-এর মতো মিডলওয়্যার আর্কিটেকচার অফার করে। Finch প্রোডাকশন ব্যবহারের জন্য লো-লেভেল এবং হাই-পারফরম্যান্স লাইব্রেরি। অনুরূপ ফাংশনাল পদ্ধতির জন্য curl to Clojure বা curl to Ruby দেখুন।
Elixir-এ অথেন্টিকেশন কীভাবে পরিচালনা করবেন?
হেডারগুলোকে স্ট্রিং টাপল-এর লিস্ট হিসেবে পাস করুন: HTTPoison.get(url, [{"Authorization", "Bearer token"}])। Basic auth-এর জন্য Base.encode64/1 দিয়ে user:pass এনকোড করুন এবং মানের আগে "Basic " যোগ করুন। রেসপন্স প্যাটার্ন ম্যাচ করুন {:ok, response} অথবা {:error, reason}-এর জন্য। curl2code -H এবং -u ফ্ল্যাগগুলোকে ইডিওম্যাটিক Elixir-এ কনভার্ট করে।
Elixir-এ কীভাবে মাল্টিপার্ট ফর্ম ডেটা পাঠাবেন?
বডি হিসেবে {:multipart, parts} ব্যবহার করুন: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]})। সাধারণ ফর্ম ফিল্ডের জন্য {"key", "value"} টাপল যোগ করুন। curl2code HTTPoison মাল্টিপার্টের জন্য -F ফ্ল্যাগগুলো পরিচালনা করে।
Elixir HTTP রিকোয়েস্টে এরর কীভাবে পরিচালনা করবেন?
HTTPoison ট্যাগড টাপল রিটার্ন করে: {:ok, response} অথবা {:error, reason}। case বা with দিয়ে প্যাটার্ন ম্যাচ করুন: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end। এটি ইডিওম্যাটিক Elixir — এক্সেপশন ছাড়াই স্পষ্ট এবং পুঙ্খানুপুঙ্খ এরর হ্যান্ডলিং।
Elixir-এ কীভাবে কনকারেন্ট HTTP রিকোয়েস্ট করবেন?
Task.async/1 এবং Task.await/1 ব্যবহার করুন: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) তারপর results = tasks |> Enum.map(&Task.await/1)। Elixir-এর BEAM VM হাজার হাজার কনকারেন্ট প্রসেস দক্ষভাবে পরিচালনা করে। অনুরূপ কনকারেন্সির জন্য curl to Go দেখুন।
Elixir-এ টাইমআউট কীভাবে সেট করবেন?
HTTPoison-এ অপশন পাস করুন: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000])। timeout হলো কানেকশন টাইমআউট এবং recv_timeout হলো রেসপন্স টাইমআউট (উভয়ই মিলিসেকেন্ডে)। রিট্রাইয়ের জন্য একটি রিকার্সিভ ফাংশন ব্যবহার করুন অথবা Req লাইব্রেরির বিল্ট-ইন রিট্রাই ব্যবহার করুন।
Elixir-এ প্রক্সি কীভাবে ব্যবহার করবেন?
HTTPoison-এ প্রক্সি অপশন পাস করুন: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}])। অথেন্টিকেটেড প্রক্সির জন্য proxy_auth: {"user", "pass"} ব্যবহার করুন। HTTPoison আন্ডারলায়িং hackney লাইব্রেরির মাধ্যমে SOCKS5 প্রক্সিও সমর্থন করে। curl2code -x ফ্ল্যাগগুলোকে Elixir প্রক্সি কনফিগারেশনে রূপান্তর করে।
Elixir-এ JSON বডি সহ একটি POST রিকোয়েস্ট কীভাবে পাঠাবেন?
curl2code ব্যবহার করে curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL এর মতো একটি curl POST কমান্ডকে Elixir-এ রূপান্তর করুন। জেনারেট করা কোড HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]) ব্যবহার করে। curl2code স্বয়ংক্রিয়ভাবে JSON কন্টেন্ট সহ -d/--data ফ্ল্যাগ শনাক্ত করে এবং HTTPoison কোডে উপযুক্ত Content-Type হেডার সেট করে।
Elixir-এ Bearer token অথরাইজেশন কীভাবে যোগ করবেন?
curl2code-এ curl -H "Authorization: Bearer YOUR_TOKEN" URL পাস করুন এবং এটি অথরাইজেশন হেডার সহ HTTPoison কোড জেনারেট করে: [{'Authorization', 'Bearer YOUR_TOKEN'}]। curl2code -H "Authorization: Bearer ..." এবং --oauth2-bearer উভয় ফ্ল্যাগ থেকে Bearer token শনাক্ত করে। Basic auth এর জন্য -u user:pass ব্যবহার করুন।
Elixir-এ Content-Type হেডার কীভাবে সেট করবেন?
curl2code curl -H "Content-Type: application/json" URL কমান্ডকে সঠিক হেডার সহ HTTPoison কোডে রূপান্তর করে: [{'Content-Type', 'application/json'}]। -d ডেটার জন্য curl ডিফল্টভাবে application/x-www-form-urlencoded ব্যবহার করে; -F ফর্ম আপলোডের জন্য এটি multipart/form-data ব্যবহার করে। curl2code প্রতিটি রিকোয়েস্টকে সঠিক HTTPoison API-তে ম্যাপ করে।