0
を持っていない:私は、HTTPサーバへのTCP要求を送信する - 私は単純なコードを用意しますが、ブースト-ASIOを使用して任意の応答
asio::io_service io_service;
asio::ip::tcp::socket s(io_service);
asio::ip::tcp::resolver resolver(io_service);
asio::connect(s, resolver.resolve({ "aire.pl", "80" }));
cout << "connected" << endl;
string request = "GET http://aire.pl/ HTTP/1.1";
size_t request_length = std::strlen(request.c_str());
asio::write(s, asio::buffer(request, request_length));
cout << "packet sent" << endl;
char reply[1024];
size_t reply_length = asio::read(s, asio::buffer(reply, request_length));
std::cout << "Reply is: ";
std::cout.write(reply, reply_length);
std::cout << "\n";
すべてがTCPダンプを使用しているので、私は私のパケットを見ることができ、正常に動作するようですプログラムが送信されたこと:
しかし、私は何の応答もありません。 1つの興味深い事実は、HTTPサーバーがnginxならOKです!この例では、HTTPサーバーはApache2です。どうしましたか?
Wiresharkなどのソフトウェアを使用して、回答が得られているかどうかを確認しましたか? – CurlyCorvus
TCPリクエストではなくHTTPリクエストを送信する方がよいでしょう。あなたはしていません。最後に '\ r \ n \ r \ n'が必要です。 – EJP