では動作しません。QProcessは、私は、このようなコマンドを実行しようとしています「wgetの」
このコードは、それを処理する必要があります
connect(&checkFW, SIGNAL(readyReadStandardOutput()), this, SLOT(readOutput()));
//QString command = "wget --user=abc--ask-password https://xxxxxxx.com";
//checkFW.start("sh",QStringList() << "-c" <<"cd ;"+command);
checkFW.start("wget", QStringList() << "--user=abc" << "--ask-password"<< "https://xxxxxx.com/file.zip");
if (!checkFW.waitForStarted()){
qDebug()<<"Could not start ";
return false;
}
QString cmd = "password\n";
checkFW.write(cmd.toLatin1());
checkFW.waitForFinished(5000);
QByteArray result = checkFW.readAll();
QString mystr(result);
qDebug()<<"output:"<< mystr;
私はQProcessを数回使用したが、この時間は、私はそれを動作するように管理することはできません。いくつかの提案?私は別のメトトと何かの反応を試みた。もちろん、私がreqestedファイルはダウンロードされませんでした。
もう一度チェックして、ファイルはアプリケーションのディレクトリではなく/ homeディレクトリにダウンロードされました。だから、動作しますが、出力はありません。
あなたは 'wget'がプロセスの標準入力からパスワードを読み込むと仮定しています。私はそうではないと思う。 'wget'はおそらく[' getpass'](https://linux.die.net/man/3/getpass)のようなものに委任してパスワードを取得します。これは '/ dev/tty'に明示的に' open'を実行し、標準入力ではなく読み出すことになります。 –