【问题标题】:How to format PHP SSH2 read() output?如何格式化 PHP SSH2 read() 输出?
【发布时间】:2015-04-21 04:23:06
【问题描述】:

我一直在尝试格式化 SSH2->read() 方法的输出。我尝试使用 ANSI.php 以下 http://phpseclib.sourceforge.net/ssh/examples.html#top

我的代码

<?php
include('Net/SSH2.php');
include('File/ANSI.php');
$ssh = new Net_SSH2('10.106.240.212');
$ssh->login('Administrator', 'Nbv12345') or die("Login failed");
$ansi = new File_ANSI();

$ssh->enablePTY();
$ssh->exec("powershell.exe\n");
$ssh->setTimeout(2);
echo $ssh->read();
$ssh->write("ls\n");
echo $ssh->read();
?>

输出全是 ANSI 字符,没有 'ls' 结果

(B)0[?7l[H[J[1;1HWindows PowerShell[2;1HCopyright (C) 2013 Microsoft Corporation. All rights reserved.[4;1HPS C:\Users\Administrator> (B)0[?7l[H[J[1;1H [2;1H [3;1H [4;1H [5;1H [6;1H [7;1H [8;1H [9;1H [10;1H [11;1H [12;1H [13;1H [14;1H [15;1H [16;1H [17;1H [18;1H [19;1H [20;1H [21;1H [22;1H [23;1H [24;1H [1;1HMicrosoft Windows [Version 6.3.9600][2;1H(c) 2013 Microsoft Corporation. All rights reserved.[4;1HC:\Users\Administrator>ls[5;1H

我需要这样的东西,它甚至不接近:

如何格式化?

【问题讨论】:

    标签: php ssh ansi phpseclib


    【解决方案1】:

    仅仅因为您正在初始化该类并不意味着您正在包含它,哈哈。试试这个:

    <?php
    include('Net/SSH2.php');
    include('File/ANSI.php');
    $ssh = new Net_SSH2('10.106.240.212');
    $ssh->login('Administrator', 'Nbv12345') or die("Login failed");
    $ansi = new File_ANSI();
    
    $ssh->enablePTY();
    $ssh->exec("powershell.exe\n");
    $ssh->setTimeout(2);
    $ansi->appendString($ssh->read());
    $ssh->write("ls\n");
    $ansi->appendString($ssh->read());
    echo $ansi->getScreen();
    ?>
    

    即。将你所有的$ssh-&gt;read() 调用包装在$ansi-&gt;appendString() 中,然后执行$ansi-&gt;getScreen()。或者也许只将$ssh-&gt;read() 包裹在$ssh-&gt;write("ls\n") 之后的$ansi-&gt;appendString() 中。你也可以$ansi-&gt;getHistory()

    【讨论】:

    • 嘿 Neubert,我已经试过了。 ANSI.php 无法解析 (B 和 )0[ 之类的几个字符,并且输出只是提示。没有其他的! Notice: (B unsupported in C:\wamp\www\PT_TEST_FRAMEWORK\php\phpseclib\File\ANSI.php on line 434
    • 您能否在 pastebin.com 链接中发布完整的输出(在通过 File_ANSI 运行之前)?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    相关资源
    最近更新 更多