【问题标题】:cUrl command C++ code replacementcUrl 命令 C++ 代码替换
【发布时间】:2012-09-03 20:51:17
【问题描述】:

我有这个 cUrl 命令,我需要在 Linux 下的 C++ 程序中执行,我正在使用 Qt 如何并包含 libcUrl,我需要知道与这个 cUrl 命令等效的确切方法调用:

curl -d 'grant_type=client_credentials&client_id=mdme2323&client_secret=asdaeqwedsa24124ewesiou&scope=http://api.microsofttranslator.com' https://datamarket.accesscontrol.windows.net/v2/OAuth2-13 | python -m json.tool

【问题讨论】:

    标签: c++ c qt curl libcurl


    【解决方案1】:

    在新进程中执行命令呢?

    QString cmd("curl -d 'grant_type=client_credentials&client_id=mdme2323&client_secret=asdaeqwedsa24124ewesiou&scope=http://api.microsofttranslator.com' https://datamarket.accesscontrol.windows.net/v2/OAuth2-13 | python -m json.tool");
    QProcess::execute(cmd);
    

    【讨论】:

    • 那么如何获取它的返回数据呢?
    • 顺便说一句,在标准输出中我得到了这个“curl:选项 -m:期望一个正确的数字参数 curl:尝试 'curl --help' 或 'curl --manual' 以获取更多信息”所以可以你的命令没有执行好。
    • 我认为你需要在 curl 之前添加 shell 命令。由于管道是外壳功能的一部分。
    【解决方案2】:

    这是我修复它的方法:

    QProcess* proc = new QProcess();
    QString cmd( "/bin/sh" );
    QStringList args;
    args << "-c" << "curl -d 'grant_type=client_credentials&client_id=islam123&client_secret=23ewsed323we2ewesiou&scope=http://api.microsofttranslator.com' https://datamarket.accesscontrol.windows.net/v2/OAuth2-13";
    proc->execute(cmd, args);
    data = proc->readAll();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 2015-03-07
      相关资源
      最近更新 更多