ShellStream 输出包含未知字符
ShellStream output contains unknown characters
我正在使用 Ssh.Net 和 ShellStream
上的 StreamReader
从 ssh 控制台读取输出。如果您熟悉控制台输出,您肯定知道通常 table 格式的数据。如:
COLUMN1 COLUMN2 COLUMN3
value1 value2 value3
value4 value5 value6
value7 value8 value9
我也通过 SshCommand
object 直接读取输出,我没有任何格式错误。然而,当我使用 StreamReader 时,我得到了神秘的字符,例如 [m[1mX[m
。 X 是单个字符,通常由空格包围。这只发生在被多个空格包围的单个字符旁边。当字符被方括号括起来时,我也遇到了这个问题,结果是 [9999
或 [6n
无论如何我都会解析结果,所以我不介意这些字符,但我需要知道它们是否真正意味着什么以及它们是否一致。如果两者都不是,如果你能告诉我如何解决这个问题,我会很高兴。
如果重要的话,我已连接到 MikroTik 路由器并且我 运行 命令 certificate print detail without-paging
。此错误发生在 header 中,我正在使用此代码输出获取结果并输出流:
Dim response As String = ""
Dim reader As StreamReader = New StreamReader(shellStream)
Dim writer As StreamWriter = New StreamWriter(shellStream)
writer.WriteLine(cmd)
writer.Flush()
Thread.Sleep(500)
Dim line As String = ""
For i As Integer = 0 To 150
response += line
line = reader.ReadLine
response += vbCrLf
Next
Console.WriteLine(response)
我正在使用 Ssh.Net 和 ShellStream
上的 StreamReader
从 ssh 控制台读取输出。如果您熟悉控制台输出,您肯定知道通常 table 格式的数据。如:
COLUMN1 COLUMN2 COLUMN3
value1 value2 value3
value4 value5 value6
value7 value8 value9
我也通过 SshCommand
object 直接读取输出,我没有任何格式错误。然而,当我使用 StreamReader 时,我得到了神秘的字符,例如 [m[1mX[m
。 X 是单个字符,通常由空格包围。这只发生在被多个空格包围的单个字符旁边。当字符被方括号括起来时,我也遇到了这个问题,结果是 [9999
或 [6n
无论如何我都会解析结果,所以我不介意这些字符,但我需要知道它们是否真正意味着什么以及它们是否一致。如果两者都不是,如果你能告诉我如何解决这个问题,我会很高兴。
如果重要的话,我已连接到 MikroTik 路由器并且我 运行 命令 certificate print detail without-paging
。此错误发生在 header 中,我正在使用此代码输出获取结果并输出流:
Dim response As String = ""
Dim reader As StreamReader = New StreamReader(shellStream)
Dim writer As StreamWriter = New StreamWriter(shellStream)
writer.WriteLine(cmd)
writer.Flush()
Thread.Sleep(500)
Dim line As String = ""
For i As Integer = 0 To 150
response += line
line = reader.ReadLine
response += vbCrLf
Next
Console.WriteLine(response)