- cURL / curl
- เครื่องมือบรรทัดคำสั่งโอเพนซอร์สและไลบรารี libcurl สำหรับส่งคำขอโปรโตคอล HTTP/HTTPS/FTP ฯลฯ ผ่าน URL ในบรรทัดคำสั่ง เป็นเครื่องมือที่นักพัฒนาใช้บ่อยที่สุดสำหรับดีบั๊ก API
- HTTP method
- การกระทำของคำขอ HTTP ที่พบบ่อย ได้แก่ GET (อ่าน), POST (สร้าง), PUT (อัปเดตทั้งหมด), PATCH (อัปเดตบางส่วน), DELETE (ลบ), HEAD (รับส่วนหัว), OPTIONS (สอบถามความสามารถของเซิร์ฟเวอร์)
- ส่วนหัวคำขอ (Header)
- คู่คีย์-ค่าเมตาดาต้าในคำขอ HTTP เช่น Content-Type, Authorization, User-Agent, Cookie, Accept ฯลฯ ระบุใน curl ด้วย -H/--header
- เนื้อหาคำขอ (Body)
- ส่วนข้อมูลของคำขอ HTTP ใช้บ่อยใน POST/PUT/PATCH ระบุใน curl ด้วย -d/--data/--data-binary/-F รูปแบบที่พบบ่อย ได้แก่ JSON, form-urlencoded, multipart/form-data
- Content-Type
- ส่วนหัวคำขอ/การตอบกลับที่ระบุประเภทมีเดียของ body application/json หมายถึง JSON, application/x-www-form-urlencoded หมายถึงฟอร์มเข้ารหัส URL, multipart/form-data หมายถึงฟอร์มอัปโหลดไฟล์
- Basic Auth
- การยืนยันตัวตนพื้นฐาน HTTP ส่งชื่อผู้ใช้และรหัสผ่านผ่านส่วนหัว Authorization: Basic base64(user:pass) ระบุใน curl ด้วย -u user:pass
- Bearer Token
- วิธีการยืนยันตัวตนแบบโทเค็น ส่งผ่านส่วนหัว Authorization: Bearer <token> ใช้บ่อยใน JWT/OAuth2
- User-Agent
- ส่วนหัวคำขอที่ระบุประเภทไคลเอนต์ (เบราว์เซอร์/บอท/สคริปต์) curl ส่ง "curl/หมายเลขเวอร์ชัน" ตามค่าเริ่มต้น เว็บไซต์จำนวนมากจะบล็อก UA ที่ไม่ใช่เบราว์เซอร์ มักใช้ -A ระบุ
- Cookie
- คู่คีย์-ค่าที่เซิร์ฟเวอร์ส่งผ่าน Set-Cookie และเบราว์เซอร์ส่งกลับผ่านส่วนหัว Cookie ในคำขอต่อๆ ไป ใช้สำหรับการรักษาเซสชัน curl -b ส่ง Cookie, -c บันทึก Cookie
- Referer
- ส่วนหัวคำขอที่ระบุ URL ของหน้าที่มาของคำขอปัจจุบัน การตรวจสอบป้องกันการลิงก์โดยตรง/CSRF บางตัวจะตรวจสอบ ตั้งค่าด้วย curl -e
- การเปลี่ยนเส้นทาง (3xx)
- เมื่อเซิร์ฟเวอร์ส่งคืนรหัสสถานะ 301/302/303/307/308 จะบอกให้เบราว์เซอร์เปลี่ยนเส้นทางไปยัง URL ใหม่ curl ไม่ติดตามตามค่าเริ่มต้น เติม -L/--location เพื่อติดตาม
- --compressed
- ตัวเลือก curl เพิ่มส่วนหัว Accept-Encoding: deflate, gzip โดยอัตโนมัติและแตกไฟล์การตอบกลับอัตโนมัติ หากไม่ตั้งค่า การตอบกลับอาจเป็นข้อมูลบีบอัดที่อ่านไม่ออก
- -k/--insecure
- ตัวเลือก curl ข้ามการตรวจสอบใบรับรอง HTTPS ใช้สำหรับสภาพแวดล้อมทดสอบใบรับรอง self-signed เท่านั้น ห้ามใช้ในสภาพแวดล้อมการผลิต
- fetch API
- API คำขอ HTTP JavaScript ดั้งเดิมของเบราว์เซอร์ ส่งคืน Promise รองรับในเบราว์เซอร์สมัยใหม่ทั้งหมด
- Axios
- ไลบรารี HTTP client ยอดนิยมที่อาศัย Promise ใช้ได้ทั้งเบราว์เซอร์และ Node.js มี JSON serialization อัตโนมัติ, interceptor, การยกเลิก timeout
- OkHttp
- ไลบรารี HTTP client Java/Android จาก Square มีประสิทธิภาพสูง รองรับ HTTP/2, พูลการเชื่อมต่อ, GZIP โปร่งใส
- HttpClient (.NET)
- ไคลเอนต์ HTTP ที่แนะนำสำหรับ C#/.NET ในเนมสเปซ System.Net.Http เป็น API มาตรฐานของ .NET Core/.NET 5+
- Invoke-RestMethod
- cmdlet คำขอ HTTP ในตัวของ PowerShell 3.0+ แยกวิเคราะห์การตอบกลับ JSON/XML เป็นอ็อบเจ็กต์ PowerShell อัตโนมัติ