{"id":1589,"date":"2013-08-02T13:56:31","date_gmt":"2013-08-02T11:56:31","guid":{"rendered":"http:\/\/mariusbancila.ro\/blog\/?p=1589"},"modified":"2013-08-13T12:39:49","modified_gmt":"2013-08-13T10:39:49","slug":"cpp-rest-sdk-in-visual-studio-2013","status":"publish","type":"post","link":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/","title":{"rendered":"C++ REST SDK in Visual Studio 2013"},"content":{"rendered":"<p>The <a href=\"http:\/\/casablanca.codeplex.com\/\">C++ REST project<\/a> provides a modern asynchronous C++ API for cloud-based client-server communication. It is available on codeplex and works with Visual Studio 2010 and 2012, but it is now distributed with Visual Studio 2013. The preview version of VS2013 deploys version 1.0 of the SDK. Since its release a new version of the SDK (v1.1.0) has been <a href=\"http:\/\/blogs.msdn.com\/b\/vcblog\/archive\/2013\/07\/10\/c-rest-sdk-1-1-0-is-now-available.aspx\">made available<\/a>.<\/p>\n<p>The following example shows how to retrieve and display some JSON content. I&#8217;m querying google using its REST API. Here is how a query (for a single result) may look:<\/p>\n<blockquote><p><a href=\"https:\/\/ajax.googleapis.com\/ajax\/services\/search\/web?q=marius%20bancila&amp;v=1.0&amp;rsz=1\">https:\/\/ajax.googleapis.com\/ajax\/services\/search\/web?q=marius%20bancila&amp;v=1.0&amp;rsz=1<\/a><\/p><\/blockquote>\n<p>The result that we get is a JSON value. From this value I will only display the URL and the (un-formatted) title.<\/p>\n<pre lang=\"json\" title=\"json sample result\">{\r\n   \"responseData\":{\r\n      \"results\":[\r\n         {\r\n            \"GsearchResultClass\":\"GwebSearch\",\r\n            \"unescapedUrl\":\"http:\/\/www.mariusbancila.ro\/\",\r\n            \"url\":\"http:\/\/www.mariusbancila.ro\/\",\r\n            \"visibleUrl\":\"www.mariusbancila.ro\",\r\n            \"cacheUrl\":\"http:\/\/www.google.com\/search?q\\u003dcache:oFoVQN2DkeYJ:www.mariusbancila.ro\",\r\n            \"title\":\"\\u003cb\\u003eMarius Bancila\\u0026#39;s\\u003c\/b\\u003e Blog\",\r\n            \"titleNoFormatting\":\"Marius Bancila\\u0026#39;s Blog\",\r\n            \"content\":\"\\u003cb\\u003eMarius Bancila\\u003c\/b\\u003e Tools, Visual Studio Add your comment. Visual Studio 2013   provides developers with the ability to sign in with a Microsoft account and\u00a0\\u003cb\\u003e...\\u003c\/b\\u003e\"\r\n         }\r\n      ],\r\n      \"cursor\":{\r\n         \"resultCount\":\"6,850\",\r\n         \"pages\":[\r\n            {\r\n               \"start\":\"0\",\r\n               \"label\":1\r\n            },\r\n            {\r\n               \"start\":\"1\",\r\n               \"label\":2\r\n            },\r\n            {\r\n               \"start\":\"2\",\r\n               \"label\":3\r\n            },\r\n            {\r\n               \"start\":\"3\",\r\n               \"label\":4\r\n            },\r\n            {\r\n               \"start\":\"4\",\r\n               \"label\":5\r\n            },\r\n            {\r\n               \"start\":\"5\",\r\n               \"label\":6\r\n            },\r\n            {\r\n               \"start\":\"6\",\r\n               \"label\":7\r\n            },\r\n            {\r\n               \"start\":\"7\",\r\n               \"label\":8\r\n            }\r\n         ],\r\n         \"estimatedResultCount\":\"6850\",\r\n         \"currentPageIndex\":0,\r\n         \"moreResultsUrl\":\"http:\/\/www.google.com\/search?oe\\u003dutf8\\u0026ie\\u003dutf8\\u0026source\\u003duds\\u0026start\\u003d0\\u0026hl\\u003den\\u0026q\\u003dmarius+bancila\",\r\n         \"searchResultTime\":\"0.16\"\r\n      }\r\n   },\r\n   \"responseDetails\":null,\r\n   \"responseStatus\":200\r\n}<\/pre>\n<p>There are several things that we must do:<\/p>\n<ul>\n<li>create a <tt>http_client<\/tt> that maintains the connection to a HTTP service<\/li>\n<li>send a HTTP GET request asynchronous and wait for the response<\/li>\n<li>when the response is available check its status code and if all is right extract the JSON value from the body of the response message (the content type must be <tt>application\/json<\/tt>)<\/li>\n<li>when the json value is available display its content<\/li>\n<\/ul>\n<p>The code looks like this:<\/p>\n<pre class=\"cpp\" name=\"code\">#include &lt;cpprest\/http_client.h&gt;\r\n#include &lt;cpprest\/filestream.h&gt;\r\n#include &lt;cpprest\/json.h&gt;\r\n\r\n#include &lt;iostream&gt;\r\n\r\nusing namespace utility;\r\nusing namespace web;\r\nusing namespace web::http;\r\nusing namespace web::http::client;\r\nusing namespace concurrency::streams;\r\n\r\nusing namespace std;\r\n\r\nvoid print_search_results(json::value const &amp; value)\r\n{\r\n   if(!value.is_null())\r\n   {\r\n      auto response = value[L\"responseData\"];\r\n      auto results = response[L\"results\"];\r\n      for(auto const &amp; p : results)\r\n      {\r\n         auto o = p.second;\r\n         auto url = o[L\"url\"];\r\n         auto title = o[L\"titleNoFormatting\"];\r\n\r\n         wcout &lt;&lt; title.as_string() &lt;&lt; endl &lt;&lt; url.as_string() &lt;&lt; endl &lt;&lt; endl;\r\n      }\r\n   }\r\n}\r\n\r\nvoid search_and_print(wstring const &amp; searchTerm, int resultsCount)\r\n{\r\n   http_client client(U(\"https:\/\/ajax.googleapis.com\/ajax\/services\/search\/web\"));\r\n\r\n   \/\/ build the query parameters\r\n   auto query =  uri_builder()\r\n      .append_query(L\"q\", searchTerm)\r\n      .append_query(L\"v\", L\"1.0\")\r\n      .append_query(L\"rsz\", resultsCount)\r\n      .to_string();\r\n\r\n   client\r\n      \/\/ send the HTTP GET request asynchronous\r\n      .request(methods::GET, query)\r\n      \/\/ continue when the response is available\r\n      .then([](http_response response) -&gt; pplx::task&lt;json::value&gt;\r\n      {\r\n         \/\/ if the status is OK extract the body of the response into a JSON value\r\n         \/\/ works only when the content type is application\\json\r\n         if(response.status_code() == status_codes::OK)\r\n         {\r\n            return response.extract_json();\r\n         }\r\n\r\n         \/\/ return an empty JSON value\r\n         return pplx::task_from_result(json::value());\r\n      })\r\n      \/\/ continue when the JSON value is available\r\n      .then([](pplx::task&lt;json::value&gt; previousTask)\r\n      {\r\n         \/\/ get the JSON value from the task and display content from it\r\n         try\r\n         {\r\n            json::value const &amp; v = previousTask.get();\r\n            print_search_results(v);\r\n         }\r\n         catch (http_exception const &amp; e)\r\n         {\r\n            wcout &lt;&lt; e.what() &lt;&lt; endl;\r\n         }\r\n      })\r\n      .wait();\r\n}<\/pre>\n<p>The following program retrieves 5 search results for &#8220;marius bancila&#8221;.<\/p>\n<pre class=\"cpp\" name=\"code\">int main(int argc, char *args[])\r\n{\r\n   search_and_print(L\"marius bancila\", 5);\r\n\r\n   return 0;\r\n}<\/pre>\n<p>The output looks like this:<\/p>\n<pre class=\"console\">Marius Bancila's Blog\r\nhttp:\/\/www.mariusbancila.ro\/\r\n\r\nMarius Bancila (mariusbancila) on Twitter\r\n<div class=\"embed-x\"><a class=\"twitter-timeline\" data-width=\"1200\" data-height=\"1000\" data-dnt=\"true\" href=\"https:\/\/s.com\/mariusbancila\">Posts by mariusbancila<\/a><script async src=\"https:\/\/platform.x.com\/widgets.js\" charset=\"utf-8\"><\/script><\/div>\r\n\r\nUser Marius Bancila - Stack Overflow\r\nhttp:\/\/stackoverflow.com\/users\/648078\/marius-bancila\r\n\r\nMarius Bancila profiles | LinkedIn\r\nhttp:\/\/www.linkedin.com\/pub\/dir\/Marius\/Bancila\r\n\r\nMarius Bancila Profiles | Facebook\r\nhttps:\/\/www.facebook.com\/public\/Marius-Bancila<\/pre>\n<p>You can find documentation for the API and the SDK <a href=\"http:\/\/casablanca.codeplex.com\/documentation\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The C++ REST project provides a modern asynchronous C++ API for cloud-based client-server communication. It is available on codeplex and works with Visual Studio 2010 and 2012, but it is now distributed with Visual Studio 2013. The preview version of VS2013 deploys version 1.0 of the SDK. Since its release a new version of the &#8230; <a title=\"C++ REST SDK in Visual Studio 2013\" class=\"read-more\" href=\"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/\" aria-label=\"Read more about C++ REST SDK in Visual Studio 2013\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[7,19],"tags":[451,368,362,367],"class_list":["post-1589","post","type-post","status-publish","format-standard","hentry","category-c","category-web","tag-c","tag-casablanca","tag-vs2013","tag-web-2"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"See a simple example for using C++ REST async API to retrieve and display JSON data from a google query.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Marius Bancila\"\/>\n\t<meta name=\"keywords\" content=\"c++,web,casablanca,vs2013,c++ rest,sdk\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Marius Bancila&#039;s Blog | About code. Mostly on C++\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"C++ REST SDK in Visual Studio 2013\" \/>\n\t\t<meta property=\"og:description\" content=\"See a simple example for using C++ REST async API to retrieve and display JSON data from a google query.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2013-08-02T11:56:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2013-08-13T10:39:49+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"C++ REST SDK in Visual Studio 2013\" \/>\n\t\t<meta name=\"twitter:description\" content=\"See a simple example for using C++ REST async API to retrieve and display JSON data from a google query.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2013\\\/08\\\/02\\\/cpp-rest-sdk-in-visual-studio-2013\\\/#article\",\"name\":\"C++ REST SDK in Visual Studio 2013\",\"headline\":\"C++ REST SDK in Visual Studio 2013\",\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"},\"datePublished\":\"2013-08-02T13:56:31+02:00\",\"dateModified\":\"2013-08-13T12:39:49+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":13,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2013\\\/08\\\/02\\\/cpp-rest-sdk-in-visual-studio-2013\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2013\\\/08\\\/02\\\/cpp-rest-sdk-in-visual-studio-2013\\\/#webpage\"},\"articleSection\":\"C++, Web, C++, casablanca, vs2013, web\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2013\\\/08\\\/02\\\/cpp-rest-sdk-in-visual-studio-2013\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"position\":2,\"name\":\"IT\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"position\":3,\"name\":\"Software\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"name\":\"C++\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"position\":4,\"name\":\"C++\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2013\\\/08\\\/02\\\/cpp-rest-sdk-in-visual-studio-2013\\\/#listItem\",\"name\":\"C++ REST SDK in Visual Studio 2013\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2013\\\/08\\\/02\\\/cpp-rest-sdk-in-visual-studio-2013\\\/#listItem\",\"position\":5,\"name\":\"C++ REST SDK in Visual Studio 2013\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"name\":\"C++\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/\",\"name\":\"Marius Bancila\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2013\\\/08\\\/02\\\/cpp-rest-sdk-in-visual-studio-2013\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Marius Bancila\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2013\\\/08\\\/02\\\/cpp-rest-sdk-in-visual-studio-2013\\\/#webpage\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2013\\\/08\\\/02\\\/cpp-rest-sdk-in-visual-studio-2013\\\/\",\"name\":\"C++ REST SDK in Visual Studio 2013\",\"description\":\"See a simple example for using C++ REST async API to retrieve and display JSON data from a google query.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2013\\\/08\\\/02\\\/cpp-rest-sdk-in-visual-studio-2013\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"datePublished\":\"2013-08-02T13:56:31+02:00\",\"dateModified\":\"2013-08-13T12:39:49+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"C++ REST SDK in Visual Studio 2013","description":"See a simple example for using C++ REST async API to retrieve and display JSON data from a google query.","canonical_url":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/","robots":"max-image-preview:large","keywords":"c++,web,casablanca,vs2013,c++ rest,sdk","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/#article","name":"C++ REST SDK in Visual Studio 2013","headline":"C++ REST SDK in Visual Studio 2013","author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"},"datePublished":"2013-08-02T13:56:31+02:00","dateModified":"2013-08-13T12:39:49+02:00","inLanguage":"en-US","commentCount":13,"mainEntityOfPage":{"@id":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/#webpage"},"isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/#webpage"},"articleSection":"C++, Web, C++, casablanca, vs2013, web"},{"@type":"BreadcrumbList","@id":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","position":1,"name":"Home","item":"https:\/\/mariusbancila.ro\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","position":2,"name":"IT","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","position":3,"name":"Software","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","name":"C++"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","position":4,"name":"C++","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/#listItem","name":"C++ REST SDK in Visual Studio 2013"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/#listItem","position":5,"name":"C++ REST SDK in Visual Studio 2013","previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","name":"C++"}}]},{"@type":"Organization","@id":"https:\/\/mariusbancila.ro\/blog\/#organization","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","url":"https:\/\/mariusbancila.ro\/blog\/"},{"@type":"Person","@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author","url":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/","name":"Marius Bancila","image":{"@type":"ImageObject","@id":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g","width":96,"height":96,"caption":"Marius Bancila"}},{"@type":"WebPage","@id":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/#webpage","url":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/","name":"C++ REST SDK in Visual Studio 2013","description":"See a simple example for using C++ REST async API to retrieve and display JSON data from a google query.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/#breadcrumblist"},"author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"creator":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"datePublished":"2013-08-02T13:56:31+02:00","dateModified":"2013-08-13T12:39:49+02:00"},{"@type":"WebSite","@id":"https:\/\/mariusbancila.ro\/blog\/#website","url":"https:\/\/mariusbancila.ro\/blog\/","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","inLanguage":"en-US","publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Marius Bancila's Blog | About code. Mostly on C++","og:type":"article","og:title":"C++ REST SDK in Visual Studio 2013","og:description":"See a simple example for using C++ REST async API to retrieve and display JSON data from a google query.","og:url":"https:\/\/mariusbancila.ro\/blog\/2013\/08\/02\/cpp-rest-sdk-in-visual-studio-2013\/","article:published_time":"2013-08-02T11:56:31+00:00","article:modified_time":"2013-08-13T10:39:49+00:00","twitter:card":"summary","twitter:title":"C++ REST SDK in Visual Studio 2013","twitter:description":"See a simple example for using C++ REST async API to retrieve and display JSON data from a google query."},"aioseo_meta_data":{"post_id":"1589","title":"C++ REST SDK in Visual Studio 2013","description":"See a simple example for using C++ REST async API to retrieve and display JSON data from a google query.","keywords":[{"label":"C++","value":"C++"},{"label":"web","value":"web"},{"label":"casablanca","value":"casablanca"},{"label":"vs2013","value":"vs2013"},{"label":"C++ rest","value":"C++ rest"},{"label":"SDK","value":"SDK"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-03-18 21:12:20","updated":"2025-12-12 07:40:13","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"author_meta":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"featured_img":null,"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"uagb_comment_info":13,"uagb_excerpt":"The C++ REST project provides a modern asynchronous C++ API for cloud-based client-server communication. It is available on codeplex and works with Visual Studio 2010 and 2012, but it is now distributed with Visual Studio 2013. The preview version of VS2013 deploys version 1.0 of the SDK. Since its release a new version of the&hellip;","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/\" class=\"advgb-post-tax-term\">C++<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/web\/\" class=\"advgb-post-tax-term\">Web<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">C++<\/span>","<span class=\"advgb-post-tax-term\">Web<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/web\/\" class=\"advgb-post-tax-term\">C++<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/web\/\" class=\"advgb-post-tax-term\">casablanca<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/web\/\" class=\"advgb-post-tax-term\">vs2013<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/web\/\" class=\"advgb-post-tax-term\">web<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">C++<\/span>","<span class=\"advgb-post-tax-term\">casablanca<\/span>","<span class=\"advgb-post-tax-term\">vs2013<\/span>","<span class=\"advgb-post-tax-term\">web<\/span>"]}},"comment_count":"13","relative_dates":{"created":"Posted 13 years ago","modified":"Updated 13 years ago"},"absolute_dates":{"created":"Posted on August 2, 2013","modified":"Updated on August 13, 2013"},"absolute_dates_time":{"created":"Posted on August 2, 2013 1:56 pm","modified":"Updated on August 13, 2013 12:39 pm"},"featured_img_caption":"","series_order":"","jetpack_shortlink":"https:\/\/wp.me\/pYNdv-pD","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/1589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/comments?post=1589"}],"version-history":[{"count":8,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/1589\/revisions"}],"predecessor-version":[{"id":1639,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/1589\/revisions\/1639"}],"wp:attachment":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/media?parent=1589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/categories?post=1589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/tags?post=1589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}