我正在研究几个使用 HTTP 传输命令的服务器。
我遇到的情况是,我尝试手动发出的一些命令是很长的 GET,有好几行,而且当我从 Mac 通过 telnet 连接到 Solaris 系统时,我似乎无法成功剪切和粘贴该行。
我听到了一些弹跳声(我认为是 control-g - 铃铛),然后它就没有粘贴任何东西。
通过尝试将其分解成更小的部分,我得到的印象是 TELNET 或我捆绑的 telnet 客户端或服务器具有我从未遇到过的最大行长度。
我进行了一些谷歌搜索和超级用户搜索,但没有找到任何明确的答案。
答案1
我很确定没有实际的硬性限制,因为我已经通过 telnet 做了很多奇怪的事情。
我只能想象,当您听到哔声时,您已经达到了会话的限制/缓冲区和/或客户端只是硬编码到字符限制。
如果这是服务器的限制,则在发送数据并达到字符限制时它会响应错误。
您可以尝试其他客户端,例如油灰它可以很好地处理 Telnet 连接。
(这是根据我过去的经验,但我不是 100% 确定,因为没有经历过相同的情况,我无法测试它,如果我错了,请说出来,我会删除我的答案)
答案2
我在 OS X 上也遇到过这种情况。为了我的目的(也发出手动 HTTP 请求!)我只是将请求放入文件中并用于cat request.txt | nc localhost 8080
发送数据。