Como fazer uma requisição HTTP em C++?
Olá a todos! Alguém pode me dizer como fazer uma requisição HTTP (GET/POST) corretamente em C++ puro sem usar bibliotecas de terceiros como Boost.Beast ou cURL? Estou escrevendo um pequeno cliente de console para trabalhar com uma API REST, mas não consigo encontrar ferramentas embutidas para trabalhar com HTTP.
Tentei usar winsock2 no Windows e sys/socket.h no Linux, mas enfrentei problemas: primeiro, ao enviar uma requisição GET, o servidor retorna um erro 400 Bad Request; segundo, não consigo processar corretamente o chunked transfer encoding na resposta. Aqui está um exemplo do meu código:
#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 // ... criação do socket e conexão com example.com:80 ...\n std::string request = "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n";\n se