2011-06-19 73 views
2

我正在使用curlpp來接收響應。我指的是curlpp站點http://curlpp.org/index.php/examples/64-example-14的這個例子。 但我沒有得到響應的存儲位置,因此我可以將其用於進一步的目的。 該代碼僅顯示請求狀態的整數值。 我也經歷過谷歌,但無法弄清楚。使用curlpp獲得響應

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); 
     } 
    } 
+1

我編輯了Q使其更具可讀性,並且再次破壞它?哎呀! –

+0

@Als我修正了它,等待有人接受編輯。 – 2011-06-19 07:18:40

+1

@Keoki Zee:我知道你做得很好,但是我已經做到了,而且我已經做到了,OP再次破壞了它,你必須解決它。而且我不接受你的編輯,因爲我們不能繼續做這個遞歸,讓OP修復它! –

回答

1

請閱讀前面的示例,默認情況下,當您說執行它轉到標準輸出或您可以指定其他流。

來自同一個站點,不同的例子http://curlpp.org/index.php/examples/48-example-01

myRequest.perform(); 
os << myRequest; 

其中OS是一個自定義輸出流

所以像這樣的例子兩個流中加入類似

os1 << request1; 
os2 << request2; 

兩全迴應

4

您可以指定其他鏈ams WriteStream:

std::stringstream result; 

request.setOpt(cURLpp::Options::WriteStream(&result)); 
request.perform();