示例代码如下:
#include<iostream>
#include<string>
using namespace std;
#pragma comment(lib, "libcurl_imp.lib")
void download(string urlHttp)
{
CURL* curl = NULL;
CURLcode res = CURLE_OK;
curl = curl_easy_init();
string response;
if(curl)
{
curl_easy_setopt(curl, CURLOPT_URL,urlHttp.c_str());
res = curl_easy_perform(curl);
cout<<"res = "<<res<<endl;
CURLcode code;
char* url = NULL;
long rescode = 0;
code = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &rescode);
cout<<"code = "<<code<<",rescode = "<<rescode<<endl;
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
code = curl_easy_getinfo(curl, CURLINFO_REDIRECT_URL, &url);
cout<<"code = "<<code<<endl;
if(url)
{
cout<<"Redirect url = "<<url<<endl;
}
}
curl_easy_cleanup(curl);
}
int main(int argc, char* argv[])
{
if(argc < 2)
{
cout<<"参数错误!\n";
return -1;
}
string urlHttp(argv[1]);
download(urlHttp);
return 0;
}
参考资料:
1、https://blog.csdn.net/qhexin/article/details/23939461
2、https://blog.csdn.net/php_fly/article/details/17171985
3、https://bbs.csdn.net/topics/290075236