2016-12-24 15 views
0

私は、cppでPOSTリクエストをしたいと思います。CPR Github LibraryCPRを使用した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}} 
     ); 

私は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で引数を渡します。

関連する問題