การส่งคำขอ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การเข้ารหัสและถอดรหัส JSON
- การส่งคำขอ HTTP ด้วย cURL
- การจัดการการตอบกลับและข้อผิดพลาดของ API
- การสร้างไคลเอ็นต์ API อย่างง่าย