以下是一个使用C++调用HAProxy接口操作TiDB的示例代码:
#include <iostream>
#include <curl/curl.h>
int main() {
CURL* curl;
CURLcode res;
// 初始化libcurl
curl_global_init(CURL_GLOBAL_ALL);
// 创建CURL句柄
curl = curl_easy_init();
if (curl) {
std::string url = "http://haproxy_ip:haproxy_port/haproxy?tidb_server_name=server_name&action=disable";
// 设置请求的URL
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
// 执行HTTP GET请求
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
std::cout << "Error performing request: " << curl_easy_strerror(res) << std::endl;
} else {
long http_code = 0;
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &http_code);
if (http_code == 200) {
std::cout << "Successfully disabled TiDB server." << std::endl;
} else {
std::cout << "Failed to disable TiDB server. HTTP code: " << http_code << std::endl;
}
}
// 清理CURL句柄和全局状态
curl_easy_cleanup(curl);
}
// 清理libcurl全局状态
curl_global_cleanup();
return 0;
}
在上面的示例中,你需要将haproxy_ip替换为实际的HAProxy服务器IP地址,haproxy_port替换为实际的HAProxy监听端口号,server_name替换为要操作的TiDB服务器的名称。然后,你可以根据需要修改URL和其他逻辑。
请注意,此示例使用了libcurl库来进行HTTP请求。你需要在编译时确保链接了libcurl库,并且包含了相关头文件。
内容由零声教学AI助手提供,问题来源于学员提问




