[curl lib]如何获得响应/重定向url?
发布时间:2020-12-14 01:18:34 所属栏目:Linux 来源:网络整理
导读:如果我访问 http://www.microsoft.com/ 将重定向到 http://www.microsoft.com/en-us/default.aspx 如何使用CURL lib获取响应/重定向URL? 我试试 curl_easy_getinfo(curl,CURLINFO_EFFECTIVE_URL, reUrl); 这将获得http://www.microsoft.com/ curl_easy_geti
如果我访问
http://www.microsoft.com/
将重定向到 http://www.microsoft.com/en-us/default.aspx 如何使用CURL lib获取响应/重定向URL? 我试试 curl_easy_getinfo(curl,CURLINFO_REDIRECT_URL,& reUrl); 所以,谢谢你的帮助 解决方法
将
CURLOPT_FOLLOWLOCATION设置为1
#include <stdio.h> #include <curl/curl.h> int main(int argc,char** argv) { CURL *curl; CURLcode curl_res; curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl,CURLOPT_URL,"http://www.microsoft.com"); curl_easy_setopt(curl,CURLOPT_FOLLOWLOCATION,1); curl_easy_setopt(curl,CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); /* Perform the request,curl_res will get the return code */ curl_res = curl_easy_perform(curl); /* Check for errors */ if(curl_res != CURLE_OK) fprintf(stderr,"curl_easy_perform() failed: %sn",curl_easy_strerror(curl_res)); if(CURLE_OK == curl_res) { char *url; curl_res = curl_easy_getinfo(curl,&url); if((CURLE_OK == curl_res) && url) printf("CURLINFO_EFFECTIVE_URL: %sn",url); } /* always cleanup */ curl_easy_cleanup(curl); /* we're done with libcurl,so clean it up */ curl_global_cleanup(); } else { printf("cURL error.n"); } return 0; } 你会看见: CURLINFO_EFFECTIVE_URL: http://www.microsoft.com/en-us/default.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |