Curl重定向问题c++

Curl Redirect Issue C++

本文关键字:c++ 问题 重定向 Curl      更新时间:2023-10-16

我想使用Curl从这个网站下载和解析数据:

http://xetra.com/xetra/dispatch/en/xetraCSV/navigation/xetra/100_market_structure_instruments/100_instruments/100_all_tradable_instruments/

我以前在不同的网站上使用过我的Curl代码,它的工作没有问题,但这个网站是不同的,因为它返回一个包含数据的实际链接的重定向响应。

我启用了这个设置:

    curl_easy_setopt(m_pCurl, CURLOPT_FOLLOWLOCATION, TRUE));

,但我陷入了重定向填充日志文件的无限循环。

为了避免这种情况,我解析了初始HTTP响应以获得重定向位置,并尝试使用该链接进行下载。然而,Curl告诉我头和体是空的(CURLE_GOT_NOTHING)并抛出。当我使用浏览器访问时,我可以看到数据加载,所以我知道那里有东西,Curl似乎无法看到它。

在这个问题上任何帮助都将是非常感激的。

很多谢谢,pma07pg

非常感谢长颈鹿船长的回答!

如果你有一个重定向链接,需要存储cookie,然后添加这些选项:

    curl_easy_setopt(m_pCurl, CURLOPT_MAXREDIRS , 5); // Stop redirecting ad infinitum
    curl_easy_setopt(m_pCurl, CURLOPT_COOKIEFILE, "");

您需要JSESSIONID cookie不被重定向。

将你收到的第一个请求(302 Found)的cookie添加到你的报头中,重复请求等。

处理libcurl cookie的示例