StreamReader
上的ShellStream
从ssh控制台读取输出。如果您熟悉控制台输出,那么您肯定会了解典型的表格式数据。如:COLUMN1 COLUMN2 COLUMN3
value1 value2 value3
value4 value5 value6
value7 value8 value9
我也直接通过SshCommand
对象读取输出,并且那里没有任何格式错误。但是,当我使用StreamReader时,会得到诸如[m[1mX[m
之类的神秘字符。 X是单个字符,通常由空格包围。这种情况仅发生在由多个空格包围的单个字符旁边。当字符用方括号括起来时,也会出现类似[9999
或[6n
的问题我还是会解析结果,所以我不介意这些字符,但是我需要知道它们是否真正有意义以及它们是否一致。如果两者都不是,请告诉我如何解决此问题,我将很高兴。
[如果有关系,我已连接到MikroTik路由器,并运行命令
certificate print detail without-paging
。标头中发生此错误,我正在使用此代码输出以获取结果并输出流:
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)