2016-12-24 247 views
0

我想在cpp中使用CPR Github Library使用CPR從C++進行HTTP調用?

等效curl請求在下面給出。

echo '{"fund_name": "UTI Dual Advantage Fixed Term Fund Series I-IV (1099 Days) - Direct Plan - Dividend Option","from_date":"2015-01-15","to_date": "2016-12-15"}' | curl -d @- http://<ip>:<port>/api/v1/es/search 

當我嘗試使用此代碼調用時,總是會收到500

auto r1 = cpr::Post(cpr::Url{"http://<ip>:<port>/api/v1/es/search"}, 
          cpr::Payload{{"fund_name", fundName}, 
             {"from_date", startDate}, 
             {"to_date", endDate}} 
     ); 

我想,我faling到json正確轉換。任何建議。

我能夠使用cpr獲取請求。

auto r = cpr::Get(cpr::Url{"https://api.github.com/repos/whoshuu/cpr/contributors"}, 
         cpr::Authentication{"user", "pass"}, 
         cpr::Parameters{{"anon", "true"}, {"key", "value"}}); 
    r.status_code;     // 200 
    r.header["content-type"];  // application/json; charset=utf-8 
    r.text;       // JSON text string 
} 

回答

0

我需要通過json對象進入正文。

 Json my_json = Json::object { 
       {"fund_name", fundName}, 
       {"from_date", startDate}, 
       {"to_date", endDate} 
     }; 
     auto r1 = cpr::Post(cpr::Url{"http://35.154.38.192:8082/api/v1/es/search"}, 
          cpr::Body{my_json.dump()} 
     ); 

cpr::Payloads{}cpr::Parameters{}傳遞參數在url PARAMS。

相關問題