#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>
int main(int argc, char *argv[]) {
CURL *curl;
CURLcode res;
FILE *fp;
char *url = argv[1];
char filename[256];
// 检查参数是否正确
if (argc != 2) {
printf("Usage: %s url\n", argv[0]);
return 1;
}
// 初始化curl
curl = curl_easy_init();
if (!curl) {
printf("Error: Failed to initialize curl\n");
return 1;
}
// 设置要访问的URL
curl_easy_setopt(curl, CURLOPT_URL, url);
// 设置要存储的文件名
strcpy(filename, "result.html");
fp = fopen(filename, "wb");
if (!fp) {
printf("Error: Failed to open file for writing\n");
return 1;
}
// 设置文件写入回调函数
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, fwrite);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
// 执行curl操作
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
printf("Error: Failed to retrieve web page\n");
return 1;
}
// 清理curl和文件句柄
curl_easy_cleanup(curl);
fclose(fp);
printf("Web page saved to %s\n", filename);
return 0;
}
Linux要先:
sudo apt-get install libcurl4-openssl-dev
编译方式:
gcc -o myprogram myprogram.c -I/usr/include/curl -lcurl
MACOS的方式:
gcc -o myprogram myprogram.c -lcurl