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

curl2code cURL এক্সটেনশন বা Guzzle লাইব্রেরি ব্যবহার করে curl কমান্ডগুলোকে PHP কোডে রূপান্তর করে। সম্পূর্ণ গোপনীয়তার জন্য রূপান্তরটি WebAssembly-এর মাধ্যমে আপনার ব্রাউজারে চলে। অনুরূপ সার্ভার-সাইড ভাষার জন্য আমাদের curl to Python converter বা curl to Ruby দেখুন। নিচে ব্যবহারিক PHP উদাহরণ দেওয়া হলো।

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

  1. 1

    DevTools ওপেন করুন

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

  2. 2

    Network ট্যাবে যান

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

  3. 3

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

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

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

PHP cURL কী?

PHP-এর curl এক্সটেনশন হলো C libcurl লাইব্রেরির একটি র‍্যাপার (wrapper), যা শক্তিশালী HTTP ক্লায়েন্ট সক্ষমতা প্রদান করে। এটি কার্যত সমস্ত প্রোটোকল এবং ফিচার সমর্থন করে যা curl নিজে সমর্থন করে। curl_init() দিয়ে শুরু করুন, curl_setopt() দিয়ে অপশন সেট করুন এবং curl_exec() দিয়ে এক্সিকিউট করুন। curl2code বিকল্প হিসেবে Guzzle এবং Requests-ও সমর্থন করে।

PHP cURL বনাম Guzzle বনাম Requests — কোনটি ব্যবহার করা উচিত?

PHP cURL হলো লো-লেভেল এবং বিল্ট-ইন — কোনো Composer-এর প্রয়োজন নেই। Guzzle হলো PSR-7 সাপোর্ট, মিডলওয়্যার এবং অ্যাসিনক্রোনাস রিকোয়েস্ট সহ সবচেয়ে জনপ্রিয় PHP HTTP ক্লায়েন্ট। Requests দ্রুত কাজের জন্য একটি সহজ API অফার করে। আধুনিক প্রজেক্টের জন্য Guzzle এবং মিনিমাল সেটআপের জন্য PHP cURL ব্যবহার করুন। অন্যান্য ভাষায় অনুরূপ অপশনের জন্য, curl to Python দেখুন।

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

cURL-এর ক্ষেত্রে: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer token'])। Basic অথেনটিকেশনের জন্য: curl_setopt($ch, CURLOPT_USERPWD, 'user:pass')। Guzzle 'auth' => ['user', 'pass'] অথবা 'headers' => ['Authorization' => 'Bearer token'] ব্যবহার করে। curl2code স্বয়ংক্রিয়ভাবে -u এবং Bearer ফ্ল্যাগগুলো হ্যান্ডেল করে।

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

cURL-এর ক্ষেত্রে: ফাইলের জন্য CURLOPT_POSTFIELDS সহ একটি অ্যারে new CURLFile('path')-এ পাস করুন। Guzzle ফিল্ড/ফাইল অ্যারে সহ 'multipart' অপশন ব্যবহার করে। curl2code প্রতিটি PHP লাইব্রেরি ভেরিয়েন্টের জন্য -F ফ্ল্যাগগুলোকে সঠিক ফরম্যাটে কনভার্ট করে।

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

cURL-এর ক্ষেত্রে: ট্রান্সপোর্ট এররের জন্য curl_errno($ch) চেক করুন এবং ম্যানুয়ালি রেসপন্স স্ট্যাটাস পার্স করুন। Guzzle ফেইলিয়রের ক্ষেত্রে RequestException থ্রো করে — ClientException (4xx), ServerException (5xx) এবং ConnectException (নেটওয়ার্ক) ক্যাচ করুন। রিসোর্স ফ্রি করতে সর্বদা curl_close($ch) কল করুন।

PHP-তে কীভাবে অ্যাসিনক্রোনাস HTTP রিকোয়েস্ট করবেন?

Guzzle $client->requestAsync('GET', $url)-এর মাধ্যমে অ্যাসিনক্রোনাস রিকোয়েস্ট সমর্থন করে যা একটি Promise রিটার্ন করে। কনকারেন্ট রিকোয়েস্টের জন্য Promise\Utils::all() ব্যবহার করুন। cURL-এর ক্ষেত্রে, প্যারালাল এক্সিকিউশনের জন্য curl_multi_* ফাংশনগুলো ব্যবহার করুন। সত্যিকারের অ্যাসিনক্রোনাস PHP-র জন্য, ReactPHP অথবা Amp ফ্রেমওয়ার্ক এবং তাদের HTTP ক্লায়েন্টগুলো বিবেচনা করুন।

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

cURL-এর ক্ষেত্রে: কানেকশনের জন্য CURLOPT_CONNECTTIMEOUT এবং মোট রিকোয়েস্ট সময়ের জন্য CURLOPT_TIMEOUT। Guzzle সেকেন্ডে 'connect_timeout' এবং 'timeout' গ্রহণ করে। এগুলো সরাসরি curl-এর --connect-timeout এবং --max-time অপশনের সাথে ম্যাপ করা হয়।

PHP-তে প্রক্সি কীভাবে ব্যবহার করবেন?

cURL-এর ক্ষেত্রে: curl_setopt($ch, CURLOPT_PROXY, 'http://proxy:8080')। SOCKS5-এর জন্য: CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5 যোগ করুন। Guzzle 'proxy' => 'http://proxy:8080' ব্যবহার করে। curl2code -x এবং --proxy ফ্ল্যাগগুলোকে সংশ্লিষ্ট PHP কোডে কনভার্ট করে।

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

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

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

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

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

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

PHP cURL extension বনাম Guzzle — কোনটি ব্যবহার করা উচিত?

PHP cURL extension (curl_* ফাংশন) PHP-তে বিল্ট-ইন থাকে এবং এর জন্য কোনো অতিরিক্ত ডিপেন্ডেন্সি প্রয়োজন হয় না — এটি সাধারণ রিকোয়েস্টের জন্য বা যখন আপনি ন্যূনতম ওভারহেড চান তখন আদর্শ। Guzzle হলো একটি ফিচার-সমৃদ্ধ HTTP ক্লায়েন্ট যাতে মিডলওয়্যার, অ্যাসিঙ্ক্রোনাস রিকোয়েস্ট, PSR-7/PSR-18 সাপোর্ট এবং স্বয়ংক্রিয় রিট্রাই সুবিধা রয়েছে। হালকা স্ক্রিপ্টের জন্য cURL এবং জটিল অ্যাপ্লিকেশনের জন্য Guzzle ব্যবহার করুন। curl2code উভয়ের জন্যই কোড জেনারেট করে — ল্যাঙ্গুয়েজ ড্রপডাউন থেকে আপনার পছন্দের ভেরিয়েন্টটি বেছে নিন।

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

curl গাইড

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