重定向分为301永久重定向和302临时重定向,用于更换url的情况。
string GetRedirectUrl(const string& url) {
CURL* curl = curl_easy_init();
if (curl) {
char* res = NULL;
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_perform(curl);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
//1表示重定向次数,最多允许一次重定向
curl_easy_getinfo(curl, CURLINFO_REDIRECT_URL, &res);
//该函数若返回301,说明是永久重定向;若返回302,说明临时重定向
string str(res);
curl_easy_cleanup(curl);//防止内存泄漏 切记
return str;
}
else {
return NULL;
}
}