使用curl庫獲取重定向之後的url
阿新 • • 發佈:2018-12-15
示例程式碼如下:
#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; }
參考資料: