Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
🔴 Advanced  ·  Lesson 32

cURL API Requests

cURL क्या है

cURL PHP script को दूसरी websites और APIs को requests भेजने और जवाब पढ़ने देता है। जब आपकी site को payment gateway, SMS service, या weather API से बात करनी हो, cURL आम tool है। हर cURL call चार steps में होती है: init, options set, execute, close।

💡 चार steps: curl_init() → curl_setopt() → curl_exec() → curl_close()।

GET request

किसी URL से data लाइए और string के रूप में वापस पाइए।

<?php
  $ch = curl_init("https://api.example.com/data");
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $response = curl_exec($ch);
  curl_close($ch);

  echo $response;
?>

CURLOPT_RETURNTRANSFER मुख्य line है — यह curl_exec को response return करवाता है ताकि आप उसे तुरंत print करने के बजाय $response में store कर सकें।

POST request

Server को data भेजिए, जैसे form submit करने या record बनाने को।

<?php
  $ch = curl_init("https://api.example.com/save");
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, [
      "name" => "Aman",
      "class" => 12
  ]);
  $response = curl_exec($ch);
  curl_close($ch);
?>

CURLOPT_POST POST पर switch करता है, और CURLOPT_POSTFIELDS में वो data होता है जो आप body में भेजते हैं।

JSON भेजना

ज़्यादातर आधुनिक APIs JSON चाहते हैं। data encode कीजिए और header set कीजिए।

<?php
  $data = json_encode(["name" => "Aman"]);
  $ch = curl_init("https://api.example.com/save");
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  curl_setopt($ch, CURLOPT_HTTPHEADER, [
      "Content-Type: application/json"
  ]);
  $response = curl_exec($ch);
  curl_close($ch);
?>

Content-Type: application/json header server को बताता है कि body JSON है। जवाब को json_decode($response, true) से decode कीजिए।

Errors जाँचना

<?php
  $response = curl_exec($ch);
  if (curl_errno($ch)) {
      echo "Error: " . curl_error($ch);
  }
  $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  echo "Status: $code";   // जैसे 200
  curl_close($ch);
?>
Status: 200

हमेशा connection errors और HTTP status code जाँचिए (200 यानी OK, 404 not found, 500 server error), ताकि आपका app ठीक से जवाब दे सके।

आम गलतियाँ

  • CURLOPT_RETURNTRANSFER भूलना। इसके बिना response print होता है, return नहीं, तो $response खाली रहता है।
  • JSON header set न करना। कई APIs Content-Type: application/json बिना JSON ठुकरा देते हैं।
  • Status code अनदेखा करना। Request "चल" सकती है पर 404 या 500 लौटा सकती है — हमेशा जाँचिए।
  • Handle बंद न करना। काम पूरा होने पर curl_close()।

सारांश

  • cURL PHP से दूसरी sites और APIs को requests भेजता है।
  • चार steps: init, options set, execute, close।
  • CURLOPT_RETURNTRANSFER response को string के रूप में लौटाता है।
  • POST को CURLOPT_POST + CURLOPT_POSTFIELDS; JSON को JSON header।
  • समस्याओं को curl_error और HTTP status code जाँचिए।

आगे, मिला JSON पढ़िए PHP JSON से, या अपना endpoint बनाइए PHP REST API से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

PHP में cURL किसलिए इस्तेमाल होता है?
cURL आपकी PHP script को दूसरी websites और APIs से बात करने देता है — data लाने, भेजने, या किसी service में login करने को। payment gateways, SMS services, weather APIs वग़ैरह से जुड़ने का यही तरीका है।
cURL में GET और POST में क्या अंतर है?
GET data माँगता है और parameters URL में रखता है। POST data request body में भेजता है, कुछ बनाने या submit करने को। POST set करने को curl_setopt($ch, CURLOPT_POST, true)।
CURLOPT_RETURNTRANSFER क्यों चाहिए?
Default रूप से cURL response सीधे print कर देता है। CURLOPT_RETURNTRANSFER को true करने से curl_exec response को string के रूप में return करता है, ताकि आप उसे store और process कर सकें।
cURL से JSON कैसे भेजें?
body को CURLOPT_POSTFIELDS से अपने json_encode किए data पर set कीजिए, और CURLOPT_HTTPHEADER से Content-Type: application/json header जोड़िए।
cURL request fail हुई या नहीं कैसे जाँचें?
curl_exec के बाद connection problems को curl_error($ch), और server ने error दिया या नहीं देखने को HTTP status code curl_getinfo($ch, CURLINFO_HTTP_CODE) जाँचिए।
← Back to PHP Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicPassword Hashing आपकी प्रगति: 32 / 50 (64%) · Lesson 33 / 50 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें