【问题标题】:Telnet Response contains \r\n in the middle after ~50 charactersTelnet 响应在 ~50 个字符之后的中间包含 \r\n
【发布时间】:2017-01-06 19:15:30
【问题描述】:

我正在与 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?

【问题讨论】:

    标签: c# linux telnet


    【解决方案1】:

    \r\n 在 C# 字符串中,表示一个新行(其中也有一个描述 here)。我认为可能发生的情况是 telnet 总是给出格式为具有设定最大长度的行的响应。您能否尝试通过删除所有出现的\r\n 来在脚本中添加一些内容来重新格式化响应?

    例如您可以使用String.Replace

    将它们替换为空白字符串

    [编辑]:我不知道是否可以请求具有不同行长的响应。我看到here 有一个带有 Telnet 的toggle clrf 选项,但这可能只是用于发送请求。

    【讨论】:

    • 是否可以更改 telnet 响应的最大长度?如果有,该怎么做?
    猜你喜欢
    • 2011-09-01
    • 2021-12-24
    • 2021-12-12
    • 2011-07-29
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    相关资源
    最近更新 更多