如何使用cpprestSDK开发Webservice客户端

 时间:2024-10-16 20:38:40

1、cpprestsdk的源代码可以在github下载,但是从源码编译的过程太复杂,因为源码使用了boost等库,不管是下载还是编译都很麻烦。笔者并不推荐此方法,因为有更好的方法。

如何使用cpprestSDK开发Webservice客户端

2、另外一种是使用vcpkg安装,笔者也尝试此种方法,发现vcpkg这个工具本身就是一个大坑,需要先下载vcpkg源码,编译为可执行程序,然后还用到powershell,版本低的,还需要升级,另外,过程中还要解决一大堆cmake工具引起的问题,笔者倒弄了半天,最后也是跟vcpkg一刀两断了。所以,这种方法也要果断放弃,因为还有更好的,更便捷的方法,一般人我还真不告诉他。

如何使用cpprestSDK开发Webservice客户端

3、最好的方法就是使用Visual studio自带的NuGet package包管理器。实现是使用visual studio 新建一个c++工程(MFC/win32/控制台随意),然后,对着工程名点击右键,在弹出的菜单选择“管理NuGet程序包”,打开NuGet包管理器。

如何使用cpprestSDK开发Webservice客户端

4、搜索cpprestsdk(需要联网),可以找到最新的cpprestsdk的说明,右边一个下载提示,单击“下载”。

如何使用cpprestSDK开发Webservice客户端

5、visual studio 会提示要安装cpprestsdk的若干组件,点击确认,自动开始安装。

如何使用cpprestSDK开发Webservice客户端

6、安装完成后,visual studio自动将cpprestsdk (编译后的lib和头文件,dll文件)下载到与工程文件所在的路径中。(经笔者验证,这些文件可以copy到其他路径,以便工程添加引用)。

如何使用cpprestSDK开发Webservice客户端

7、使用cpprestsdk开发客户端一般使用如下代码:http_client_config config;config.set_timeout(utility::seconds(20)); //设置为20秒超时http_client client(url), config);uri_builder builder(U("/MethodName));json::value obj;//.... 填充obj json 数据进行postbuilder.append_query(U("jsonData"), obj.serialize().c_str());http_response response = client.request(methods::GET, builder.to_string()).get();if (response.status_code() == status_codes::OK) { try { //获取数据 const json::value& jv = response.extract_json().get(); if (jv.is_object()) { LOG(ERROR)<<"MES>>"<<conversions::to_utf8string(jv.serialize()); const web::json::object& jobj = jv.as_object(); return { _wcsicmp(jobj.at(L"status").as_string().c_str(), L"true") == 0,conversions::to_utf8string(jobj.at(L"result").as_string()) }; } } catch (const std::exception& e) { return { false,u8"MES 回传格式有误:" }; } }

8、使用cpprestsdk 容易出错的是字符编码问题,在开发客户端前,先确认服务端需要提交的数据是哪种字符编码,常用的是utf-8,(visual studio 默认创建的工程使用的是unicode格式),所以要经常使用到conversions::to_utf8string类似的格式转换。

  • QQ邮箱怎么设置英文名和独立密码?
  • 如何利用PPT设置碎裂文字效果
  • PPT怎样制作故障风格文字效果
  • 办公技巧:如何利用PPT制作聚光灯动画
  • 在PPT中如何绘制异性图形
  • 热门搜索
    生活处处有语文手抄报 科学小常识手抄报 争做最美少年手抄报 低碳环保我先行手抄报 二年级手抄报内容 关于爱国卫生的手抄报 手抄报花边难又漂亮 我让妈妈露笑脸手抄报 关于感恩的手抄报内容 写规范字手抄报内容