用cpp-httplib 库实现 客户端上传csv文件的post请求
时间: 2024-02-11 20:05:49 浏览: 139
好的,以下是用cpp-httplib库实现客户端上传csv文件的post请求的示例代码:
```cpp
#include <fstream>
#include <iostream>
#include <httplib.h>
using namespace std;
int main() {
// 读取csv文件
ifstream csv_file("data.csv", ios::in | ios::binary);
if (!csv_file) {
cerr << "Cannot open file." << endl;
return -1;
}
csv_file.seekg(0, ios::end);
auto file_size = csv_file.tellg();
csv_file.seekg(0, ios::beg);
std::vector<char> csv_data(file_size);
csv_file.read(csv_data.data(), file_size);
// 构造http请求
httplib::Client cli("localhost", 8080);
auto res = cli.Post("/upload", {{"file", csv_data, "data.csv", "text/csv"}});
// 处理http响应
if (res) {
cout << "Status: " << res->status << endl;
cout << "Content: " << res->body << endl;
} else {
cerr << "Error: " << res.error() << endl;
}
return 0;
}
```
其中,首先使用ifstream读取csv文件,然后构造httlib::Client对象,指定服务器的地址和端口号,使用cli.Post()方法发送post请求,将csv文件数据作为请求参数发送,参数名为"file",文件名为"data.csv",文件类型为"text/csv"。最后处理http响应即可。
需要注意的是,以上代码中的服务器地址和端口号为示例值,需要根据实际情况进行修改。
阅读全文