我正在对 Linux 设备进行 telnet 连接(使用 c# 代码)并执行一些命令,其中的命令超过 50 个字符。命令已成功执行,但 telnet 响应在 ~65 个字符后包含一个\r\n,这导致了问题。
脚本期望一行中的完整命令响应和下一行中的命令输出。但是我得到如下内容:
命令发送:/root/supplicants/wpa_cli -i p2p0 p2p_peer 00:11:22:33:44:55
响应:/root/supplicants/wpa_cli -i p2p0 p2p_peer 00:1 1:22:33:44:55 00:11:22:33:44:55
如何解决这个问题?为什么要在某些字符后添加\r\n?
最佳答案
\r\n
在 C# 字符串中,表示换行(这些也有描述 here)。我认为可能发生的情况是 telnet 总是给出格式化为具有设置的最大长度的行的响应。您能否尝试通过删除所有出现的 \r\n
来向重新格式化响应的脚本添加一些内容?
例如您可以使用 String.Replace
[编辑]:我不知道是否可以请求具有不同行长的响应。我看到了here Telnet 有一个 toggle clrf
选项,但这可能只是用于发送请求。
关于c# - Telnet 响应在 ~50 个字符后中间包含\r\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39228573/