用c写一个http的get请求从摄像机里面抓图
时间: 2024-06-03 12:09:20 浏览: 46
以下是一个简单的C语言程序,演示如何使用HTTP GET请求从网络摄像机中抓取图像:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>
#define URL "http://192.168.1.100/snapshot.jpg"
int main(void)
{
CURL *curl;
CURLcode res;
FILE *fp;
char outfilename[FILENAME_MAX] = "snapshot.jpg";
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, URL);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
fp = fopen(outfilename,"wb");
if (fp != NULL) {
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);
fclose(fp);
} else {
fprintf(stderr, "Failed to open file %s\n", outfilename);
}
}
return 0;
}
```
在上面的代码中,我们使用了libcurl库,它是一个用于在C语言中进行HTTP和其他网络协议通信的库。我们首先初始化了一个CURL对象,然后设置了请求的URL和一些选项。最后,我们使用`curl_easy_perform()`函数执行请求,并将响应数据写入文件。请注意,我们还需要确保文件指针正确设置,并在完成请求后关闭文件指针。
阅读全文