在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对象中获取此信息,还是必须使用其他内容?
答案 0 :(得分:2)
gets
读取一行,因此它将一直阻塞,直到连接超时或读取换行符。您应该使用read
方法,该方法读取给定的字节数(在Content-Length标头中非常方便地提供)。
答案 1 :(得分:0)
包括标题:
连接:关闭
到标题。这样可以防止在实际读取请求正文之前挂起。