0Pricing
PHP Academy · บทเรียน

การส่งคำขอ HTTP ด้วย cURL

ใช้ cURL เพื่อส่งคำขอ GET และ POST ไปยัง API ภายนอก

การส่งคำขอ HTTP ด้วย cURL เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

cURL คืออะไร

cURL เป็นไลบรารีสำหรับถ่ายโอนข้อมูลด้วย URL โดย PHP ห่อการทำงานนี้ไว้ในฟังก์ชัน curl_* ทำให้ cURL เป็นวิธีมาตรฐานสำหรับเรียกใช้ API ภายนอก

คำขอ GET พื้นฐาน

เริ่มต้นแฮนเดิล cURL ตั้งค่าตัวเลือก ดำเนินการ แล้วปิดแฮนเดิล

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

CURLOPT_RETURNTRANSFER

หากไม่ใช้ตัวเลือกนี้ curl_exec() จะแสดงผลการตอบกลับโดยตรง ให้กำหนดค่าเป็น true เพื่อเก็บผลการตอบกลับไว้ในตัวแปร

คำขอ POST

กำหนดค่า CURLOPT_POST และ CURLOPT_POSTFIELDS สำหรับคำขอ POST

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

การตั้งส่วนหัว

ส่งอาร์เรย์ของสตริงส่วนหัวให้กับ CURLOPT_HTTPHEADER

<?php
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer ".$token,
    "Accept: application/json",
]);

การรับรหัสสถานะ HTTP

ดึงรหัสสถานะของการตอบกลับหลังจาก curl_exec() ด้วย curl_getinfo()

<?php
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo $statusCode; // 200, 404, 500, etc.

การจัดการข้อผิดพลาด

ตรวจสอบ curl_errno() และ curl_error() เพื่อตรวจหาและรายงานข้อผิดพลาดในการเชื่อมต่อ

<?php
if (curl_errno($ch)) {
    echo "cURL error: ".curl_error($ch);
}
curl_close($ch);

ตัวเลือกการหมดเวลา

กำหนดระยะหมดเวลาสำหรับการเชื่อมต่อและการดำเนินการ เพื่อป้องกันไม่ให้คำขอค้าง

<?php
curl_setopt_array($ch, [
    CURLOPT_CONNECTTIMEOUT => 5,  // seconds to connect
    CURLOPT_TIMEOUT        => 15, // max total seconds
]);

การติดตามการเปลี่ยนเส้นทาง

เปิดใช้การติดตามการเปลี่ยนเส้นทางโดยอัตโนมัติด้วย CURLOPT_FOLLOWLOCATION

<?php
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);

การตรวจสอบ SSL

โดยค่าเริ่มต้น cURL จะตรวจสอบใบรับรอง SSL อย่าปิดการตรวจสอบในระบบจริง ให้ปิดได้เฉพาะระหว่างการพัฒนาในเครื่องที่ใช้ใบรับรองลงนามด้วยตนเองเท่านั้น

<?php
// Development only — NEVER in production!
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt_array()

ใช้ curl_setopt_array() เพื่อตั้งค่าหลายตัวเลือกในการเรียกครั้งเดียว ซึ่งสะอาดกว่าการเรียก curl_setopt() ซ้ำ ๆ

สรุป

cURL เป็นไคลเอ็นต์ HTTP มาตรฐานของ PHP ควรกำหนด CURLOPT_RETURNTRANSFER เสมอ ตรวจสอบข้อผิดพลาดด้วย curl_errno และปิดแฮนเดิลด้วย curl_close ทุกครั้ง

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ตัวเลือกใดใช้เก็บผลการตอบกลับของ cURL ไว้ในตัวแปร

คำถามที่พบบ่อย

บทเรียน “การส่งคำขอ HTTP ด้วย cURL” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การส่งคำขอ HTTP ด้วย cURL” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การส่งคำขอ HTTP ด้วย cURL”

ใช้ cURL เพื่อส่งคำขอ GET และ POST ไปยัง API ภายนอก คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การส่งคำขอ HTTP ด้วย cURL” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม

ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การเข้ารหัสและถอดรหัส JSON
  2. การส่งคำขอ HTTP ด้วย cURL
  3. การจัดการการตอบกลับและข้อผิดพลาดของ API
  4. การสร้างไคลเอ็นต์ API อย่างง่าย
← กลับไปที่ PHP Academy