0

在 TCPSocket 对象上重复使用“gets”方法,我收到以下输出

POST /targetPage.html HTTP/1.1
Host: 127.0.0.1:7125
...
...
...
Keep-Alive: 115
DNT: 1
Connection: keep-alive
Referer: http://127.0.0.1:7125/
Content-Type: application/x-www-form-urlencoded
Content-Length: 45

如果我再次使用 .gets 一切都会挂起,我将如何获得长度为 45 的“内容”?我可以从我的 TCPSocket 对象中获取它还是必须使用其他东西?

4

2 回答 2

2

gets读取一行,因此它将阻塞,直到连接超时或读取换行符。您应该使用read读取给定字节数的方法(在 Content-Length 标头中非常方便地提供)。

于 2011-05-18T19:55:27.040 回答
0

包括标题:

连接:关闭

到标题。这将防止在实际读取请求正文之前挂起。

于 2013-06-03T05:26:12.210 回答