3

我正在使用 curlpp 接收响应。我指的是 curlpp 网站http://curlpp.org/index.php/examples/64-example-14的这个例子。但是我没有得到响应的存储位置,以便我可以将其用于进一步的目的。该代码仅显示请求状态的整数值。我也通过谷歌浏览过,但无法弄清楚。

curlpp::Multi::Msgs msgs = requests.info();

for (curlpp::Multi::Msgs::iterator pos = msgs.begin(); pos != msgs.end(); pos++) 
{
    if (pos->second.msg == CURLMSG_DONE)
    {
        /* Find out which handle this message is about */
        if (pos->first == &request1)
        {
            printf("First request completed with status %d\n", pos->second.code);
        }
        else if (pos->first == &request2) 
        {
            printf("Second request completed with status %d\n", pos->second.code);
        }
    }
4

2 回答 2

6

您可以使用选项 WriteStream 指定其他流:

std::stringstream result;

request.setOpt(cURLpp::Options::WriteStream(&result));
request.perform();
于 2012-06-23T21:39:46.307 回答
1

阅读前面的示例,默认情况下,当您说执行时,它会转到标准输出,或者您可以指定其他流。

来自同一个站点,不同的示例http://curlpp.org/index.php/examples/48-example-01

myRequest.perform();
os << myRequest;

其中 os 是自定义输出流

所以对于像这个例子这样的两个流添加类似的东西

os1 << request1;
os2 << request2;

得到两个回应

于 2011-06-19T07:25:29.573 回答