发送简单的HTTP POST请求,返回响应体字符串。
const char* HttpPost(int64_t instance, const char* url, const char* body, const char* content_type)
| 参数名 | 类型 | 说明 |
|---|
| instance | int64_t | OLAPlug对象的指针 |
| url | string | 完整URL |
| body | string | 请求体内容 |
| content_type | string | Content-Type,例如"application/json" |
const char* jsonData = "{\"name\":\"张三\",\"age\":25}";
const char* response = HttpPost(instance,
"https://api.example.com/users",
jsonData,
"application/json");
if (response != NULL) {
printf("响应:%s\n", response);
FreeStringPtr(instance, response);
}
const char* formData = "username=admin&password=123456";
const char* result = HttpPost(instance,
"https://example.com/login",
formData,
"application/x-www-form-urlencoded");
if (result != NULL) {
printf("登录结果:%s\n", result);
FreeStringPtr(instance, result);
}
const char* xmlData = "<?xml version=\"1.0\"?><data><item>test</item></data>";
const char* xmlResponse = HttpPost(instance,
"https://api.example.com/xml",
xmlData,
"application/xml");
if (xmlResponse != NULL) {
FreeStringPtr(instance, xmlResponse);
}
| 返回值类型 | 说明 |
|---|
| string | 响应体字符串指针,失败返回NULL,需调用FreeStringPtr释放 |
- 返回的字符串需要调用
FreeStringPtr 释放内存 - content_type必须与body内容匹配
- 常用Content-Type:
application/json - JSON数据application/x-www-form-urlencoded - 表单数据application/xml - XML数据text/plain - 纯文本
- 如需自定义请求头或Cookie,请使用
HttpRequestEx