كيفية إجراء طلب HTTP في C++؟
مرحباً بالجميع! من فضلكم، أخبروني كيف يمكنني إجراء طلب HTTP (GET/POST) بشكل صحيح باستخدام C++ الخالص دون استخدام مكتبات خارجية مثل Boost.Beast أو cURL؟ أكتب عميلاً صغيراً لوحدة التحكم للعمل مع REST API، لكنني لا أجد أدوات مدمجة للعمل مع HTTP.
حاولت استخدام winsock2 على Windows و sys/socket.h على Linux، لكنني واجهت مشاكل: أولاً، عند إرسال طلب GET، يعيد الخادم خطأ 400 Bad Request، وثانياً، لا أستطيع معالجة chunked transfer encoding في الرد بشكل صحيح. إليكم مثال على الكود الخاص بي:
#ifdef _WIN32\n#include <winsock2.h>\n#pragma comment(lib, "ws2_32.lib")\n#else\n#include <sys/socket.h>\n#include <netinet/in.h>\n#include <arpa/inet.h>\n#endif\n\n#include <iostream>\n#include <string>\n\nint main() {\n // ... إنشاء socket والاتصال بـ example.com:80 ...\n std::string request = "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n";\n se