繁体   English   中英

如何使用php连接telnet和发送命令并将输出写入文本文件

[英]How to connect telnet and send command and write output into text file using php

我需要使用telnet到端口并发送命令,然后使用PHP将输出写入txt文件。我该怎么做?

在这个论坛中, 使用PHP具有相同的问题名称telnet连接,但是它们具有解决方案链接,而解决方案链接未打开,因此我必须再次提出问题。

我也尝试从php站点下面的代码,但是它没有将正确的输出保存到文本文件中。

<?php
$fp = fsockopen("localhost", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: localhost\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        echo fgets($fp, 128);
    }
    fclose($fp);
}
?>

因此,请帮助我解决问题。 我如何远程登录到本地主机端口80并发送命令GET / HTTP / 1.1并将输出写入文本文件?

通过简单的添加,示例脚本就可以将输出写入文件,当然:

<?php
$fp = fsockopen("localhost", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: localhost\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);

    $output = '';
    while (!feof($fp)) {
        $output .= fgets($fp, 128);
    }

    fclose($fp);
    file_put_contents( 'output.txt', $output );
}

再说一次,我同意爱德华7。 不手动进行请求就更容易了,只需让PHP为您解决:

<?php
// This is much easier, I imagine?
file_put_contents( 'output.txt', file_get_contents( 'http://localhost' ) );

您真的想通过telnet做到这一点吗? 关于什么:

echo file_get_contents("http://127.0.0.1:80");

或者,如果您要自定义请求,则可以使用cURL- http://php.net/manual/zh/book.curl.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM