C++:
ส่งคำขอ HTTP

วิธีการ:

#include <iostream>
#include <cpr/cpr.h> // ตรวจสอบให้แน่ใจว่าติดตั้งไลบรารี CPR ก่อน

int main() {
    cpr::Response r = cpr::Get(cpr::Url{"http://httpbin.org/get"});
    std::cout << r.text << std::endl; // แสดงผลข้อความตอบกลับ
    return 0;
}

ตัวอย่างผลลัพธ์:

{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.64.1"
  },
  "origin": "0.0.0.0",
  "url": "https://httpbin.org/get"
}

ลงลึก

คำขอ HTTP เป็นสิ่งที่สำคัญตั้งแต่การเริ่มต้นของเว็บ; พวกมันปฏิบัติตามโมเดล client-server ก่อนหน้าไลบรารี C++ เช่น CPR, การส่งคำขอ HTTP โดยทั่วไปหมายถึงการใช้งาน libcurl โดยตรง, หรือการทำงานร่วมกับภาษาอื่นที่มีอุปกรณ์ครบครันสำหรับการสื่อสารเว็บ

CPR, ซึ่งย่อมาจาก C++ Requests, เป็น wrapper ที่ใช้งานง่ายแรงบันดาลใจมาจากโมดูล requests ของ Python มันซ่อนความซับซ้อนของ libcurl ออกไป ยังมีทางเลือกอื่นๆ อยู่ เช่น Boost.Beast สำหรับการทำงาน HTTP/S ที่ระดับต่ำกว่า, หรือไลบรารี POCO ที่เสนอความยืดหยุ่นในการพกพา

การดำเนินการลึกลงไป, การส่งคำขอ HTTP คือการตั้งค่าการเชื่อมต่อ TCP, การจัดรูปแบบคำขอที่สอดคล้องกับโปรโตคอล HTTP, จากนั้นจึงแยกวิเคราะห์การตอบกลับ การทำสิ่งนี้ให้ถูกต้องจากขั้นพื้นฐานไม่ใช่เรื่องง่าย เนื่องจากการจัดการข้อผิดพลาด, ความซับซ้อนของเวอร์ชัน HTTP, และการพิจารณาความปลอดภัย

ดูเพิ่มเติมได้ที่