获取curl返回的响应体
时间: 2023-05-18 07:06:46 浏览: 63
可以使用curl_easy_setopt()函数设置CURLOPT_WRITEFUNCTION选项,将响应体写入到一个回调函数中,然后在回调函数中处理响应体数据。以下是一个示例代码:
```
#include <stdio.h>
#include <curl/curl.h>
size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata)
{
// 处理响应体数据
printf("%.*s", (int)(size * nmemb), ptr);
return size * nmemb;
}
int main()
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
return 0;
}
```
这个程序使用libcurl库发送HTTP请求,并将响应体写入到write_callback()函数中。在write_callback()函数中,我们可以对响应体进行任何处理。