c++ curl调用get方法,并添加一个&userId=123的字段
时间: 2024-10-17 13:13:21 浏览: 21
在C++中,你可以使用libcurl库来发送HTTP GET请求,并附带查询字符串参数。以下是一个简单的示例:
```cpp
#include <iostream>
#include <curl/curl.h>
size_t write_data(void* ptr, size_t size, size_t nmemb, std::string* user_data) {
// 将接收到的数据追加到字符串中
user_data->append((char*)ptr, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl;
CURLcode res;
std::string response;
// 初始化CURL会话
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
// 设置URL,包括查询参数
std::string url = "http://example.com/api?userId=123";
// 设置接收数据函数
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
// 发送GET请求
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
// 执行请求并处理错误
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
std::cerr << "Error: " << curl_easy_strerror(res) << std::endl;
} else {
std::cout << "Response: " << response << std::endl;
}
// 清理资源
curl_easy_cleanup(curl);
}
// 释放全局CURL初始化
curl_global_cleanup();
return 0;
}
```
在这个例子中,`write_data`函数用于捕获服务器返回的数据,而`main`函数设置URL、执行GET请求,并检查结果。记得在实际使用前安装libcurl库,并包含相应的头文件。
阅读全文