คำขอ POST ด้วย curl_init: คู่มือสั้นๆ

นักพัฒนาใช้ curl_init() ใน PHP ส่ง POST ได้ ส่งข้อมูลหลายแบบ ตั้งค่า header เพื่อความปลอดภัย

อาชว์

อาชว์

27 August 2025

คำขอ POST ด้วย curl_init: คู่มือสั้นๆ

Apidog สำหรับองค์กร

การติดตั้งแบบ On-Premises

SSO & RBAC

รองรับมาตรฐาน SOC 2

สำรวจ Apidog Enterprise

แอปพลิเคชันซอฟต์แวร์ cURL ซึ่งเป็นคำย่อของ "Client for URLs" นำเสนอชุดฟังก์ชันการทำงานที่ครอบคลุมสำหรับนักพัฒนาในการจัดการการถ่ายโอนข้อมูล  ทำงานในสองโหมดที่แตกต่างกัน: อินเทอร์เฟซบรรทัดคำสั่งที่ใช้งานง่ายสำหรับการโต้ตอบพื้นฐาน และไลบรารีอันทรงพลังที่สามารถผสานรวมเข้ากับโครงการเขียนโปรแกรมได้อย่างราบรื่น

💡
รับเครื่องมือพัฒนา API ที่ดีที่สุดและยืดหยุ่นที่สุด - Apidog! มาพร้อมกับเครื่องมือที่สมบูรณ์แบบสำหรับวงจรชีวิต API ทั้งหมด คุณสามารถสร้าง ทดสอบ จำลอง และจัดทำเอกสาร API ทั้งหมดได้ภายในแอปพลิเคชันเดียว

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่ Apidog มีให้สำหรับนักพัฒนาเช่นคุณ ให้คลิกปุ่มด้านล่าง!
button

คำจำกัดความอย่างเป็นทางการของ curl_init()

ตาม เว็บไซต์ PHP อย่างเป็นทางการ ฟังก์ชัน curl_init จะเริ่มต้นเซสชัน cURL และส่งคืนแฮนเดิล cURL เพื่อใช้กับฟังก์ชัน curl_setopt(), curl_exec() และ curl_close()

พารามิเตอร์ที่เกี่ยวข้อง

url

หากคุณระบุ URL ตัวเลือก CURLOPT_URL จะถูกตั้งค่าเป็นค่าของมัน คุณยังสามารถตั้งค่าตัวเลือกนี้ด้วยตนเองโดยใช้ฟังก์ชัน curl_setopt()

อย่างไรก็ตาม โปรดทราบว่าโปรโตคอล file ถูกปิดใช้งานโดย cURL เองหากมีการตั้งค่า open_basedir

ค่าที่ส่งคืน

ฟังก์ชัน curl_init() จะส่งคืนแฮนเดิล cURL เมื่อสำเร็จ และส่งคืน false เมื่อเกิดข้อผิดพลาด

POST Request คืออะไร?

ในบริบทของการสื่อสารทางเว็บ โปรโตคอลการถ่ายโอนข้อความหลายมิติ (HTTP) ทำหน้าที่เป็นรากฐานสำหรับการแลกเปลี่ยนข้อมูล วิธีการที่สำคัญอย่างหนึ่งที่ใช้ภายใน HTTP คือ POST request ซึ่งออกแบบมาโดยเฉพาะสำหรับการส่งข้อมูลไปยังเว็บเซิร์ฟเวอร์ เอกสารนี้เจาะลึกรายละเอียดของ POST request โดยอธิบายฟังก์ชันการทำงานและเปรียบเทียบกับคู่กันคือ GET request

คุณสมบัติหลักของ POST Requests

การส่งข้อมูล

POST requests ได้รับการออกแบบมาโดยเฉพาะเพื่อ ส่งข้อมูล ไปยังเว็บเซิร์ฟเวอร์ ข้อมูลนี้สามารถใช้เพื่อสร้างทรัพยากรใหม่ อัปเดตข้อมูลที่มีอยู่ หรือลบข้อมูล

การวางตำแหน่งข้อมูล

POST requests ส่งข้อมูลใน request body แทนที่จะรวมไว้ใน URL เอง การแยกนี้ช่วยเพิ่มความปลอดภัย โดยเฉพาะอย่างยิ่งสำหรับข้อมูลที่ละเอียดอ่อน เช่น รหัสผ่านหรือรายละเอียดบัตรเครดิต ซึ่งไม่ได้เปิดเผยใน URL

การเปลี่ยนแปลงสถานะ

POST requests มักจะส่งผลให้เกิด การปรับเปลี่ยน ที่ฝั่งเซิร์ฟเวอร์ ซึ่งอาจเกี่ยวข้องกับการสร้างบัญชีผู้ใช้ใหม่ การอัปโหลดไฟล์ การเพิ่มผลิตภัณฑ์ใหม่ลงในรถเข็น หรือการลบความคิดเห็น

ไม่สามารถแคชได้

เนื่องจาก POST requests ปรับเปลี่ยนข้อมูล เบราว์เซอร์เว็บจึงมักจะไม่ แคช ข้อมูลเหล่านั้น ซึ่งช่วยให้มั่นใจได้ว่าข้อมูลล่าสุดจะถูกส่งไปยังเซิร์ฟเวอร์เสมอ ป้องกันไม่ให้ใช้ข้อมูลที่ล้าสมัย

ตัวอย่างโค้ดของ curl_init() POST Requests

นี่คือตัวอย่างการเขียนโค้ด PHP บางส่วนที่คุณสามารถอ้างอิงได้หากคุณต้องการสร้าง POST requests ด้วยฟังก์ชัน curl_init()

ตัวอย่างที่ 1 - การส่งข้อมูลข้อความอย่างง่าย

ตัวอย่างนี้ส่งชื่อผู้ใช้และรหัสผ่านพื้นฐานไปยังสคริปต์การเข้าสู่ระบบ

<?php

$url = "https://www.example.com/login.php";
$username = "your_username";
$password = "your_password";

$data = array(
  "username" => $username,
  "password" => $password
);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, 1);  // ตั้งค่าวิธีการร้องขอเป็น POST
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));  // ตั้งค่าข้อมูล POST
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  // ส่งคืนการตอบสนอง

$response = curl_exec($ch);

curl_close($ch);

if($response) {
  echo "Login successful!";
} else {
  echo "Error: " . curl_error($ch);
}

?>

คำอธิบายโค้ด:

  1. เรากำหนด URL เป้าหมาย ชื่อผู้ใช้ และรหัสผ่าน
  2. เราสร้างอาร์เรย์ $data ที่มีชื่อผู้ใช้และรหัสผ่าน
  3. เราเริ่มต้นแฮนเดิล curl ด้วย curl_init($url)
  4. เราตั้งค่าวิธีการร้องขอเป็น POST โดยใช้ curl_setopt($ch, CURLOPT_POST, 1)
  5. เราตั้งค่าข้อมูล POST โดยใช้ curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)) http_build_query แปลงอาร์เรย์ข้อมูลเป็นสตริงที่เข้ารหัส URL
  6. เราตั้งค่า CURLOPT_RETURNTRANSFER เป็น 1 เพื่อจับภาพการตอบสนองแทนที่จะพิมพ์โดยตรง
  7. เราดำเนินการร้องขอด้วย curl_exec($ch) และเก็บการตอบสนองไว้ใน $response
  8. เราปิดแฮนเดิล curl ด้วย curl_close($ch)
  9. สุดท้าย เราตรวจสอบว่ามีการตอบสนองหรือไม่ และแสดงข้อความแสดงความสำเร็จหรือข้อผิดพลาด

ตัวอย่างที่ 2 - การส่งข้อมูล JSON

ตัวอย่างนี้ส่งอ็อบเจกต์ JSON ที่มีข้อมูลผู้ใช้ไปยังสคริปต์การลงทะเบียน

<?php

$url = "https://www.example.com/register.php";

$user_data = array(
  "name" => "John Doe",
  "email" => "john.doe@example.com",
  "password" => "your_password"
);

$data_json = json_encode($user_data);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, 1);  // ตั้งค่าวิธีการร้องขอเป็น POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);  // ตั้งค่าข้อมูล POST เป็น JSON
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  // ส่งคืนการตอบสนอง

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json',   // ตั้งค่าประเภทเนื้อหาเป็น JSON
));

$response = curl_exec($ch);

curl_close($ch);

if($response) {
  echo "Registration successful!";
} else {
  echo "Error: " . curl_error($ch);
}

?>

คำอธิบายโค้ด:

  1. เรากำหนด URL เป้าหมายและอาร์เรย์ข้อมูลผู้ใช้
  2. เราแปลงข้อมูลผู้ใช้เป็นสตริง JSON โดยใช้ json_encode
  3. เราเริ่มต้นแฮนเดิล curl และตั้งค่าวิธีการร้องขอเป็น POST
  4. เราตั้งค่าข้อมูล POST โดยใช้ curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json)
  5. เราตั้งค่า CURLOPT_RETURNTRANSFER เป็น 1 เพื่อจับภาพการตอบสนอง
  6. เราตั้งค่าส่วนหัวแบบกำหนดเอง Content-Type: application/json เพื่อแจ้งให้เซิร์ฟเวอร์ทราบว่าข้อมูลอยู่ในรูปแบบ JSON
  7. เราดำเนินการร้องขอและปิดแฮนเดิล curl เช่นเดียวกับในตัวอย่างก่อนหน้า
  8. สุดท้าย เราตรวจสอบการตอบสนองและแสดงข้อความแสดงความสำเร็จหรือข้อผิดพลาด

ตัวอย่างที่ 3 - การตั้งค่าส่วนหัวแบบกำหนดเองและการติดตามการเปลี่ยนเส้นทาง

ตัวอย่างนี้ส่ง POST request พร้อมส่วนหัวแบบกำหนดเองและติดตามการเปลี่ยนเส้นทาง

<?php

$url = "https://www.example.com/login.php";

$data = array(
  "username" => "your_username",
  "password" => "your_password"
);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, 1);  // ตั้งค่าวิธีการร้องขอเป็น POST
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  // ส่งคืนการตอบสนอง

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Authorization: Bearer YOUR_API_KEY',  // ตั้งค่าส่วนหัวแบบกำหนดเอง
));

// ติดตามการเปลี่ยนเส้นทางสูงสุด 3 ครั้ง
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_MAXREDIRS, 3);

$response = curl_exec($ch);

curl_close($ch);

if($response) {
  echo "Login successful!";
} else {
  echo "Error: " . curl_error($ch);
}

?>

คำอธิบายโค้ด:

  1. เรากำหนด URL การเข้าสู่ระบบและข้อมูลผู้ใช้
  2. เราตั้งค่าแฮนเดิล curl และ POST request เหมือนเดิม
  3. เราสร้างส่วนหัวแบบกำหนดเองพร้อมโทเค็นการอนุญาตโดยใช้ CURLOPT_HTTPHEADER
  4. เราเปิดใช้งานการติดตามการเปลี่ยนเส้นทางด้วย CURLOPT_FOLLOWLOCATION และจำกัดไว้ที่ 3 ด้วย CURLOPT_MAXREDIRS

หมายเหตุที่ต้องจำ

โปรดตรวจสอบให้แน่ใจว่าตัวอย่างโค้ดด้านบนไม่ได้ถูกคัดลอกและวางลงใน IDE ของคุณ เนื่องจากโค้ดเหล่านี้ถูกทำให้ง่ายขึ้นและจะต้องมีการปรับเปลี่ยนเพิ่มเติมเพื่อให้เหมาะกับความต้องการของแอปพลิเคชันของคุณ

สำหรับเอกสารอย่างเป็นทางการ คุณสามารถตรวจสอบได้ที่: https://www.php.net/manual/en/book.curl.php

Apidog - นำเข้าคำสั่ง cURL ได้อย่างง่ายดาย

Apidog เป็นแพลตฟอร์มการพัฒนา API ที่ซับซ้อน ซึ่งมอบเครื่องมือที่จำเป็นทั้งหมดให้กับผู้ใช้สำหรับวงจรชีวิต API ทั้งหมด ด้วย Apidog คุณสามารถสร้าง ดีบัก จำลอง และจัดทำเอกสาร API ทั้งหมดได้ภายในแอปพลิเคชันเดียว

apidog specifications
button

มาดูวิธีที่คุณสามารถนำเข้าคำสั่ง cURL ลงใน Apidog ได้!

นำเข้าคำสั่ง cURL ลงใน Apidog ได้อย่างง่ายดาย

apidog import curl

Apidog รองรับผู้ใช้ที่ต้องการนำเข้าคำสั่ง cURL ไปยัง Apidog ในโปรเจกต์เปล่า ให้คลิกปุ่ม + สีม่วงรอบๆ ส่วนบนซ้ายของหน้าต่าง Apidog แล้วเลือก Import cURL

stripe curl code sample

คัดลอกและวางคำสั่ง cURL ลงในช่องที่แสดงบนหน้าจอของคุณ

curl code import success

หากสำเร็จ คุณควรจะสามารถดูคำสั่ง cURL ในรูปแบบของ API request ได้

button

สร้างโค้ด PHP ด้วย Apidog

หากคุณไม่มีประสบการณ์ในการเขียนโค้ดในภาษาโปรแกรม PHP ไม่ต้องกังวล! Apidog มีคุณสมบัติการสร้างโค้ดที่มอบก๊อกน้ำสำหรับภาษาต่างๆ ให้กับนักพัฒนา!

apidog generate client code

ขั้นแรก ให้ค้นหาปุ่ม </> Generate Code บน API หรือ request ใดๆ แล้วเลือก Generate Client Code ในรายการแบบเลื่อนลง

apidog generate php code

ถัดไป เลือก PHP และค้นหาส่วน cURL ตอนนี้คุณควรเห็นโค้ดที่สร้างขึ้นสำหรับ cURL สิ่งที่คุณต้องทำคือคัดลอกและวางลงใน IDE (Integrated Development Environment) ของคุณ และดำเนินการพัฒนาแอปพลิเคชันของคุณต่อไป

button

บทสรุป

การเรียนรู้ POST requests ด้วย curl_init() จะปลดล็อกเครื่องมืออันทรงพลังสำหรับนักพัฒนา ช่วยให้คุณสามารถส่งข้อมูลไปยังเว็บเซิร์ฟเวอร์ ทำให้สามารถดำเนินการต่างๆ เช่น การสร้างบัญชีผู้ใช้ การอัปโหลดไฟล์ และการส่งแบบฟอร์มได้ ด้วยการทำความเข้าใจแนวคิดหลักของ POST requests และฟังก์ชันการทำงานของ curl_init() คุณสามารถสร้างโซลูชันที่ปรับแต่งได้สำหรับการโต้ตอบทางเว็บต่างๆ

โปรดจำไว้ว่า curl_init() นำเสนอแนวทางที่ยืดหยุ่น ช่วยให้คุณสามารถส่งข้อมูลในรูปแบบต่างๆ ตั้งค่าส่วนหัวแบบกำหนดเอง และจัดการสถานการณ์ต่างๆ เช่น การอัปโหลดไฟล์และการเปลี่ยนเส้นทาง ด้วยความรู้ใหม่นี้ คุณสามารถใช้ POST requests เพื่อเพิ่มขีดความสามารถของเว็บแอปพลิเคชันของคุณได้อย่างมั่นใจ

Explore more

สร้างทางเลือกสำหรับ Claude Web Search แบบ Open Source (พร้อมเซิร์ฟเวอร์ Firecrawl MCP)

สร้างทางเลือกสำหรับ Claude Web Search แบบ Open Source (พร้อมเซิร์ฟเวอร์ Firecrawl MCP)

สำหรับองค์กรที่ต้องการควบคุม, ปรับแต่ง, หรือความเป็นส่วนตัวมากกว่าการค้นหาเว็บของ Claude, การสร้างทางเลือกโดยใช้ Firecrawl เป็นทางออกที่ดี มาเรียนรู้กัน!

21 March 2025

10 อันดับทางเลือกที่ดีที่สุดสำหรับการเล่นวินเซิร์ฟสำหรับนักเขียนโค้ดที่ชอบความรู้สึกในปี 2026

10 อันดับทางเลือกที่ดีที่สุดสำหรับการเล่นวินเซิร์ฟสำหรับนักเขียนโค้ดที่ชอบความรู้สึกในปี 2026

ค้นพบ 10 ทางเลือก Windsurf ปี 2026 ปรับปรุงการเขียนโค้ด เหมาะสำหรับนักพัฒนาที่ต้องการโซลูชันการเขียนโค้ดที่มีประสิทธิภาพ ปลอดภัย และหลากหลาย

20 March 2025

Figma มีเซิร์ฟเวอร์ MCP แล้ว และนี่คือวิธีใช้งาน

Figma มีเซิร์ฟเวอร์ MCP แล้ว และนี่คือวิธีใช้งาน

ค้นพบวิธีเชื่อมต่อ Figma MCP กับ AI เช่น Cursor เพื่อสร้างโค้ดอัตโนมัติ เหมาะสำหรับนักพัฒนาและนักออกแบบ

20 March 2025

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API