curlpp响应加倍

时间:2017-07-20 22:54:53

标签: c++ curlpp

我刚刚接触到curlpp,但我无法看到我的代码出现了什么问题,所以我希望有人可以帮助我。

我在C ++中使用curlpp进行Facebook Graph查询。这意味着Facebook服务器将返回Json数据。

我的代码如下:

    #include <curlpp/cURLpp.hpp>
    #include <curlpp/Easy.hpp>
    #include <curlpp/Options.hpp>
    #include <curlpp/Exception.hpp>

    ...

    curlpp::Easy myRequest;
    bool error = false;
    QString result = "";

    try {
        // Setting the URL to the Facebook server with the query
        curlpp::options::Url myUrl(request->getURL().toStdString());
        // Creating stream for the result
        std::ostringstream os;
        curlpp::options::WriteStream ws(&os);

        // setting my opts: url and output stream
        myRequest.setOpt(myUrl);
        myRequest.setOpt(ws);

        // perform the request
        myRequest.perform();

        // stream the result into my stream
        os << myRequest;
        result = QString::fromStdString(os.str());
    } catch (curlpp::RuntimeError &e) {
        error = true;
        qWarning() << "Error in HttpRequest execution:" << e.what();
    } catch (curlpp::LogicError &e) {
        error = true;
        qWarning() << "Error in HttpRequest execution:" << e.what();
    } catch (...) {
        error = true;
        qWarning() << "Unknown error in HttpRequest execution.";
    }

我现在的问题是结果流(以及我的结果QString)确实包含Facebook Graph服务器发送的Json对象,但是两次。 这意味着,直接两次相同的对象,一个接一个。这使得Json无效。

但这不是服务器提供的。当我使用openssl命令行工具检查它并自己发出HTTP Get请求时,它不是我得到的。

我的代码出了什么问题?

最好,迈克尔

0 个答案:

没有答案