curl-কে Ruby-এ রূপান্তর করুন
curl2code স্ট্যান্ডার্ড net/http লাইব্রেরি ব্যবহার করে curl কমান্ডগুলোকে Ruby কোডে রূপান্তর করে। সম্পূর্ণ গোপনীয়তার জন্য সবকিছু WebAssembly-এর মাধ্যমে আপনার ব্রাউজারে স্থানীয়ভাবে চলে। আপনি যদি Python পছন্দ করেন, তবে আমাদের curl to Python converter দেখুন। Elixir-এর জন্য curl to Elixir দেখুন। নিচে ব্যবহারিক Ruby উদাহরণ দেওয়া হলো।
আপনার ব্রাউজার থেকে কীভাবে curl কপি করবেন
- 1
DevTools ওপেন করুন
আপনার ব্রাউজার ডেভেলপার টুলস ওপেন করতে F12 অথবা Ctrl+Shift+I চাপুন।
- 2
Network ট্যাবে যান
Network ট্যাবে ক্লিক করুন এবং সেই কাজটি করুন যা HTTP রিকোয়েস্টটি ট্রিগার করে।
- 3
cURL হিসেবে কপি করুন
রিকোয়েস্টের ওপর রাইট-ক্লিক করুন → Copy → Copy as cURL। তারপর এটি উপরে পেস্ট করুন।
সচরাচর জিজ্ঞাসিত প্রশ্নাবলী
Ruby net/http কী?
Ruby-র net/http হলো প্রতিটি Ruby ইনস্টলেশনের সাথে অন্তর্ভুক্ত স্ট্যান্ডার্ড লাইব্রেরি HTTP ক্লায়েন্ট। এটি GET, POST, মাল্টিপার্ট আপলোড, SSL এবং কাস্টম হেডার হ্যান্ডেল করে। কোনো gem ইনস্টলেশনের প্রয়োজন নেই। curl2code জনপ্রিয় gem HTTParty-ও সমর্থন করে, যা একটি পরিচ্ছন্ন এবং ডিক্লারেটিভ API-র মাধ্যমে সাধারণ HTTP প্যাটার্নগুলোকে সহজ করে তোলে।
net/http বনাম HTTParty বনাম Faraday — কোনটি ব্যবহার করা উচিত?
net/http বিল্ট-ইন এবং ডিপেন্ডেন্সি-মুক্ত — সাধারণ কাজ এবং স্ক্রিপ্টের জন্য চমৎকার। HTTParty স্বয়ংক্রিয় JSON পার্সিং সহ একটি পরিচ্ছন্ন DSL প্রদান করে। Faraday মিডলওয়্যার, অ্যাডাপ্টার প্যাটার্ন এবং সবচেয়ে বেশি ফ্লেক্সিবিলিটি অফার করে। স্ক্রিপ্টিংয়ের অনুরূপ সহজ পদ্ধতির জন্য, আমাদের curl to Python কনভার্টার অথবা curl to PHP দেখুন।
Ruby-তে অথেনটিকেশন কীভাবে হ্যান্ডেল করবেন?
net/http-এর ক্ষেত্রে: request["Authorization"] = "Bearer token"। Basic অথেনটিকেশনের জন্য: request.basic_auth("user", "pass")। HTTParty headers: { "Authorization" => "Bearer token" } অথবা basic_auth: { username: "user", password: "pass" } ব্যবহার করে। curl2code -u এবং হেডার ফ্ল্যাগ উভয়ই হ্যান্ডেল করে।
Ruby-তে কীভাবে মাল্টিপার্ট ফর্ম ডেটা পাঠাবেন?
net/http-এর ক্ষেত্রে, multipart-post gem ব্যবহার করুন অথবা বাউন্ডারি স্ট্রিং সহ Net::HTTP::Post ব্যবহার করে ম্যানুয়ালি মাল্টিপার্ট বডি তৈরি করুন। HTTParty এটিকে body: { file: File.open("path") } দিয়ে সহজ করে তোলে। curl2code উভয় লাইব্রেরি ভেরিয়েন্টের জন্য -F ফ্ল্যাগ কনভার্ট করে।
Ruby-তে HTTP এরর কীভাবে হ্যান্ডেল করবেন?
net/http-এর ক্ষেত্রে, response.is_a?(Net::HTTPSuccess) চেক করুন অথবা response.value ব্যবহার করুন যা non-2xx স্ট্যাটাসের জন্য এরর রেইজ করে। HTTParty .success? এবং .code মেথড সহ একটি রেসপন্স অবজেক্ট রিটার্ন করে। পারসিস্টেন্ট কানেকশনের জন্য, Errno::ECONNREFUSED এবং Net::ReadTimeout রেসকিউ (rescue) করুন।
Ruby-তে কীভাবে কনকারেন্ট HTTP রিকোয়েস্ট করবেন?
Ruby-র স্ট্যান্ডার্ড লাইব্রেরি সিনক্রোনাস। সাধারণ কনকারেন্সির জন্য Thread.new { ... } অথবা থ্রেড পুলের জন্য concurrent-ruby gem ব্যবহার করুন। অ্যাসিনক্রোনাস I/O-র জন্য, Async gem-এর সাথে async-http ব্যবহার করুন। Typhoeus প্যারালাল রিকোয়েস্ট কিউয়িং (queuing) প্রদান করে। বিল্ট-ইন অ্যাসিনক্রোনাস সাপোর্টের জন্য, curl to Elixir দেখুন।
Ruby-তে কীভাবে টাইমআউট সেট করবেন?
net/http-এর ক্ষেত্রে: http.open_timeout = 10 (কানেকশন) এবং http.read_timeout = 30 (রেসপন্স)। HTTParty timeout: 30 অপশন গ্রহণ করে। এগুলো curl-এর --connect-timeout এবং --max-time-এর সাথে ম্যাপ করা হয়। অনির্দিষ্টকালের জন্য রিকোয়েস্ট হ্যাং হওয়া এড়াতে সর্বদা টাইমআউট সেট করুন।
Ruby-তে প্রক্সি কীভাবে ব্যবহার করবেন?
net/http-এর ক্ষেত্রে: Net::HTTP.new(host, port, proxy_host, proxy_port)। অথবা http_proxy এবং https_proxy এনভায়রনমেন্ট ভেরিয়েবল সেট করুন — Ruby স্বয়ংক্রিয়ভাবে এগুলো মেনে চলে। HTTParty http_proxy: 'http://proxy:8080' অপশন ব্যবহার করে। curl2code -x ফ্ল্যাগগুলোকে সঠিক Ruby সিনট্যাক্সে কনভার্ট করে।
Ruby-তে JSON বডি সহ একটি POST রিকোয়েস্ট কীভাবে পাঠাবেন?
curl2code ব্যবহার করে curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL এর মতো একটি curl POST কমান্ডকে Ruby-তে রূপান্তর করুন। জেনারেট করা কোড Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json') ব্যবহার করে। curl2code স্বয়ংক্রিয়ভাবে JSON কন্টেন্ট সহ -d/--data ফ্ল্যাগ শনাক্ত করে এবং net/http কোডে উপযুক্ত Content-Type হেডার সেট করে।
Ruby-তে Bearer token অথরাইজেশন কীভাবে যোগ করবেন?
curl2code-এ curl -H "Authorization: Bearer YOUR_TOKEN" URL পাস করুন এবং এটি অথরাইজেশন হেডার সহ net/http কোড জেনারেট করে: req['Authorization'] = 'Bearer YOUR_TOKEN'। curl2code -H "Authorization: Bearer ..." এবং --oauth2-bearer উভয় ফ্ল্যাগ থেকে Bearer token শনাক্ত করে। Basic auth এর জন্য -u user:pass ব্যবহার করুন।
Ruby-তে Content-Type হেডার কীভাবে সেট করবেন?
curl2code curl -H "Content-Type: application/json" URL কমান্ডকে সঠিক হেডার সহ net/http কোডে রূপান্তর করে: req['Content-Type'] = 'application/json'। -d ডেটার জন্য curl ডিফল্টভাবে application/x-www-form-urlencoded ব্যবহার করে; -F ফর্ম আপলোডের জন্য এটি multipart/form-data ব্যবহার করে। curl2code প্রতিটি রিকোয়েস্টকে সঠিক net/http API-তে ম্যাপ করে।