c# - Telnet 响应在 ~50 个字符后中间包含\r\n

标签 c# linux telnet

我正在对 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/

相关文章:

c# - 如何在文本框中键入内容时触发文本框 textchanged 事件

c# - Epson TM-U220 USB 打印错误

c# - 无法通过 C# 启动进程。可能是因为空格

c++ - 将 Fedora 23 上的 C/C++ 编译器降级为与 MATLAB R2016a 兼容的编译器

linux - 如何使用sed命令删除没有备份文件的行?

linux - 获取 shell 脚本中的行

c# - 跟踪、调试和信息消息未从 WorkerService 到达 App Insights

linux - 由于 ZScaler 和证书问题无法使用 docker

python telnet 客户端通过带选项卡完成的套接字

Python TCP 服务器