使用boost-asio我准备了简单的代码:
{{1}}
一切似乎都运行正常,因为使用tcp-dump我可以看到程序发送的数据包:
但我没有任何回应。一个有趣的事实是,如果HTTP服务器是nginx,它可以正常工作!在此示例中,HTTP服务器是Apache2。怎么了?
答案 0 :(得分:2)
看起来您还没有发送完整的HTTP请求。 GET行后跟可选标题,后跟一个空行以指示标题的结尾。即使您不想发送任何标题,也需要发送空白行,以便服务器知道它已收到整个请求。
将\r\n\r\n
添加到request
字符串的末尾。