为什么服务器响应不同的HTTP重定向"位置"使用libcurl和浏览器的价值?

时间:2015-05-26 03:37:32

标签: http libcurl

我正在使用libcurl从服务器下载文件,使用curl_easy_setopt(curl,CURLOPT_FOLLOWLOCATION,1L)来跟踪3xx重定向。但是,当HTTP重定向发生时,libcurl不会下载文件。通过wiresark捕获数据包,我注意到"位置"与直接使用浏览器不同,这是我的程序无法下载文件的主要原因。例如,原始网址为" http://oldurl.com",服务器的响应重定向网址位于"位置"通过libcurl获取" http://redirection1.com",但是" redirection2.com"使用浏览器时。

1 个答案:

答案 0 :(得分:3)

服务器可能正在根据User-Agent标头更改行为。您可以使用curl --user-agent标志将用户代理设置为站点将识别为来自浏览器进行测试的内容。 This site是使用字符串的好资源。