c++ 的 httplib 上传json数据
时间: 2023-08-08 19:08:32 浏览: 163
C++通过HTTP请求Get或Post方式请求Json数据
使用 httplib 库上传 JSON 数据可以按照以下步骤进行:
1. 引入 httplib 头文件
```cpp
#include <httplib.h>
```
2. 创建 httplib::Client 对象
```cpp
httplib::Client client("localhost", 8080);
```
其中,第一个参数是服务器地址,第二个参数是服务器端口号。
3. 构造 JSON 数据
```cpp
json j;
j["name"] = "John";
j["age"] = 30;
```
这里使用的是 nlohmann/json 库,需要引入头文件 `<nlohmann/json.hpp>`。
4. 将 JSON 数据转换为字符串
```cpp
std::string json_str = j.dump();
```
5. 发送 POST 请求
```cpp
auto res = client.Post("/upload", json_str, "application/json");
```
其中,第一个参数是请求路径,第二个参数是要上传的数据,第三个参数是数据类型。
完整代码示例:
```cpp
#include <httplib.h>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
int main() {
httplib::Client client("localhost", 8080);
json j;
j["name"] = "John";
j["age"] = 30;
std::string json_str = j.dump();
auto res = client.Post("/upload", json_str, "application/json");
if (res && res->status == 200) {
std::cout << "Upload success" << std::endl;
} else {
std::cout << "Upload failed" << std::endl;
}
return 0;
}
```
注意:这里只是一个简单的示例,实际应用中可能需要加入错误处理、异常处理等。
阅读全文