แปลง curl เป็น PHP
curl2code แปลงคำสั่ง curl เป็นโค้ด PHP โดยใช้ส่วนขยาย cURL หรือไลบรารี Guzzle การแปลงทำงานในเบราว์เซอร์ของคุณผ่าน WebAssembly เพื่อความเป็นส่วนตัวที่สมบูรณ์ สำหรับภาษาฝั่งเซิร์ฟเวอร์ที่คล้ายกัน ตรวจสอบ ตัวแปลง curl เป็น Python หรือ curl เป็น Ruby ของเรา ด้านล่างนี้คือตัวอย่าง PHP ที่ใช้งานได้จริง
วิธีคัดลอก curl จากเบราว์เซอร์ของคุณ
- 1
เปิด DevTools
กด F12 หรือ Ctrl+Shift+I เพื่อเปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์
- 2
ไปที่แท็บ Network
คลิกแท็บ Network และดำเนินการที่ทริกเกอร์คำขอ HTTP
- 3
คัดลอกเป็น cURL
คลิกขวาที่คำขอ → Copy → Copy as cURL จากนั้นนำมาวางด้านบน
คำถามที่พบบ่อย (FAQ)
PHP cURL คืออะไร?
ส่วนขยาย curl ของ PHP เป็น wrapper รอบไลบรารี C libcurl ซึ่งให้ความสามารถของ HTTP client ที่ทรงพลัง รองรับโปรโตคอลและฟีเจอร์เกือบทั้งหมดที่ curl รองรับ เริ่มต้นด้วย curl_init(), ตั้งค่าตัวเลือกด้วย curl_setopt() และรันด้วย curl_exec() นอกจากนี้ curl2code ยังรองรับ Guzzle และ Requests เป็นทางเลือก
PHP cURL เทียบกับ Guzzle เทียบกับ Requests — ควรใช้อันไหน?
PHP cURL เป็นระดับต่ำและมีมาให้ในตัว — ไม่ต้องใช้ Composer Guzzle เป็น HTTP client ของ PHP ที่ได้รับความนิยมมากที่สุด พร้อมการรองรับ PSR-7, middleware และ async requests ส่วน Requests มี API ที่เรียบง่ายสำหรับงานด่วน ใช้ Guzzle สำหรับโปรเจกต์สมัยใหม่ และ PHP cURL สำหรับการตั้งค่าที่ต้องการความเรียบง่ายสูงสุด สำหรับตัวเลือกที่คล้ายกันในภาษาอื่น โปรดดู curl เป็น 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 โดยอัตโนมัติ
จะส่งข้อมูลฟอร์มแบบ multipart ใน PHP อย่างไร?
หากใช้ cURL: ส่ง array ไปยัง CURLOPT_POSTFIELDS โดยมี new CURLFile('path') สำหรับไฟล์ หากใช้ Guzzle ให้ใช้ตัวเลือก 'multipart' พร้อมกับ array ของฟิลด์/ไฟล์ โดย curl2code จะแปลงแฟล็ก -F เป็นรูปแบบที่ถูกต้องสำหรับแต่ละไลบรารี PHP
จะจัดการข้อผิดพลาด HTTP ใน PHP อย่างไร?
หากใช้ cURL: ตรวจสอบ curl_errno($ch) สำหรับข้อผิดพลาดในการรับส่งข้อมูล และแยกวิเคราะห์สถานะ response ด้วยตนเอง หากใช้ Guzzle จะมีการ throw RequestException เมื่อล้มเหลว — ให้ดักจับ ClientException (4xx), ServerException (5xx) และ ConnectException (เครือข่าย) และต้องเรียก curl_close($ch) เสมอเพื่อคืนทรัพยากร
จะส่ง HTTP requests แบบ async ใน PHP อย่างไร?
Guzzle รองรับ async ผ่าน $client->requestAsync('GET', $url) ซึ่งจะคืนค่าเป็น Promise ใช้ Promise\Utils::all() สำหรับ requests พร้อมกัน หากใช้ cURL ให้ใช้ฟังก์ชัน curl_multi_* สำหรับการทำงานแบบขนาน สำหรับ PHP แบบ async อย่างแท้จริง ให้พิจารณาเฟรมเวิร์ก ReactPHP หรือ Amp พร้อมกับ HTTP clients ของพวกเขา
จะตั้งค่า timeouts ใน PHP อย่างไร?
หากใช้ cURL: CURLOPT_CONNECTTIMEOUT สำหรับการเชื่อมต่อ และ CURLOPT_TIMEOUT สำหรับเวลา request ทั้งหมด หากใช้ Guzzle จะรับค่า 'connect_timeout' และ 'timeout' เป็นวินาที ซึ่งจะจับคู่โดยตรงกับตัวเลือก --connect-timeout และ --max-time ของ curl
จะใช้ proxy ใน PHP อย่างไร?
หากใช้ cURL: curl_setopt($ch, CURLOPT_PROXY, 'http://proxy:8080') สำหรับ SOCKS5: เพิ่ม CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5 หากใช้ Guzzle ให้ใช้ 'proxy' => 'http://proxy:8080' โดย curl2code จะแปลงแฟล็ก -x และ --proxy เป็นโค้ด PHP ที่เกี่ยวข้อง
วิธีส่งคำขอ POST พร้อม JSON body ใน PHP?
แปลงคำสั่ง curl POST เช่น curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL เป็น PHP โดยใช้ curl2code โค้ดที่สร้างขึ้นจะใช้ curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)) โดย curl2code จะตรวจจับแฟล็ก -d/--data ที่มีเนื้อหา JSON โดยอัตโนมัติ และตั้งค่าส่วนหัว Content-Type ที่เหมาะสมในโค้ด cURL
วิธีเพิ่มการยืนยันตัวตนด้วย Bearer token ใน PHP?
ส่ง curl -H "Authorization: Bearer YOUR_TOKEN" URL ไปยัง curl2code และเครื่องมือจะสร้างโค้ด cURL พร้อมส่วนหัวการยืนยันตัวตน: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer TOKEN']) โดย curl2code จะตรวจจับ Bearer tokens จากทั้งแฟล็ก -H "Authorization: Bearer ..." และ --oauth2-bearer สำหรับ Basic auth ให้ใช้ -u user:pass
วิธีตั้งค่าส่วนหัว Content-Type ใน PHP?
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 client ที่มีความสามารถครบถ้วน พร้อมด้วย middleware, async requests, การรองรับ PSR-7/PSR-18 และการลองใหม่โดยอัตโนมัติ ใช้ cURL สำหรับสคริปต์ขนาดเล็ก และใช้ Guzzle สำหรับแอปพลิเคชันที่ซับซ้อน curl2code สามารถสร้างโค้ดสำหรับทั้งสองแบบ — เลือกเวอร์ชันที่คุณต้องการได้ในเมนูเลือกภาษา