0

我有一个带有一些索引文件的亚马逊服务器,我可以从任何浏览器或从 hurl.it 加载正在工作的请求。

然后我尝试从某个硬件芯片发送相同的 GET 请求。

我创建了一个到端口 80 的 TCP 连接,这似乎可以正常工作并返回真值。

然后我试图发送一个根本没有响应的 GET 请求。

这里是 :

GET /index.php HTTP/1.1
Host:52.xx.xxx.xx
User-Agent:runscope/0.1
Content-Type:application/json
Connection:close                 //tried also without this

我在这里缺少一些基本的东西吗?EC2 是否接受我在端口 80 上的 TCP?(我可以看到我得到了真实的结果,但我真的不知道)

EC2 上是否还有一种方法可以查看谁在连接 TCP/HTTP?如何?

谢谢。

编辑: 我之前应该把它放在这里,但这是我的要求:

GET /index.php HTTP/1.1\r\nHost:xx.x1.2xx.1x\r\nUser-Agent:runscope/0.1\r\nContent-Type:application/json\r\nConnection:close\r\n"
4

1 回答 1

2

HTTP 请求如下所示

 GET /path HTTP/1.0\r\n
 Host: ..\r\n
 \r\n

您可能缺少的是最后的空行。你也可能做错的是线路结束(必须是\r\n但有几个服务器\n也接受)。如果你只做一个简单的请求,你应该更好地使用HTTP/1.0,因为HTTP/1.1你会得到一些使处理响应更加困难的特性,比如隐式保持活动和分块编码。

除了Content-type在 GET 请求中给出 a 没有任何意义,因为 GET 请求本身没有内容(与 POST 请求相反)。

于 2015-10-07T11:51:47.100 回答