1、首先熟悉怎样将网页的html文件下载到本地,因为C++部分是作为一个exe进行调用,所以不考虑使用MFC中的相关类,于是上网搜了一下,发现使用libcurl可以比较好地进行下载HTML文件,虽然这样做将libcurl的功能发挥的较为局限,可谓是大材小用了,不过既然网上有现有的代码所以就直接使用网上拥有的使用libcurl进行网页HTML下载的代码了。
#include<stdio.h>
#include<curl\curl.h>
#include <io.h>
//这是libcurl接收数据的回调函数,相当于recv的死循环
//其中stream可以自定义数据类型,这里我传入的是文件保存路径
static size_t write_callback( void *ptr, size_t size, size_t nmemb, void *stream )
{
int len = size * nmemb;
int written = len;
FILE *fp = NULL;
if ( access( (char*)stream, 0 ) == -1 )
{
fp = fopen( (char*) stream, "wb" );
}
else
{
fp = fopen( (char*) stream, "ab" );
}
if (fp)
{
fwrite( ptr, size, nmemb, fp );
}
return written;
}
int GetUrl( const char *url, char *savepath )
{
CURL *curl;
CURLcode res;
struct curl_slist *chunk = NULL;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if ( curl ) {
curl_easy_setopt( curl, CURLOPT_VERBOSE, 0L );
curl_easy_setopt( curl,