在QProcess中使用curl

时间:2018-02-27 16:31:16

标签: qt curl qprocess

我遇到的问题与上一个问题Ssh command from Qt非常相似。但我无法理解我在QProcess中传递给cUrl的一个参数有什么问题。代码是:

serviceC

但它总是给我一个错误:curl:option --connect-timeout 8:未知。 当我从命令行运行它时,一切都很好。我知道我在传递argumnets时遇到错误,但我找不到它。 Thanx很多!

1 个答案:

答案 0 :(得分:1)

尝试:

  QStringList params;
  const double timeout = 8.0;
  params.append("--connect-timeout");
  params.append(QString("%1").arg(timeout));
  params.append("-T" + obj->absoluteFilePath());
  params.append("ftp://" + m_host + "/inbox" + m_logsPath + obj->name());
  m_process->start("curl", params);

使用您的版本,您将传递类似

的内容
curl "'--connect-timeout <timeout>'" #curl sees 1 arg

我的是:

curl "--connect-timeout" "<timeout>" #curl sees 2 arg, as it is generally the case when executing it from a shell

请注意,start()不会进一步拆分每个params元素。