Я пытался получить данные с веб-сайта финансов Yahoo. Но с cpp-netlib это не сработает, с обычным браузером проблем нет.
using namespace boost::network;
http::client::options options;
options.follow_redirects(true);
http::client client(options);
std::string uri = "http://finance.yahoo.com/d/quotes.csv?s=ADS.DE&f=n";
try
{
http::client::request request( uri );
http::client::response response = client.get(request);
std::string result =body( response );
std::cout << result << std::endl;
}
catch (boost::system::system_error const& e)
{
cout << "Warning: could not connect : " << e.what() << std::endl;
}
Я думаю, что проблема заключается в перенаправлении. Сообщение об ошибке выглядит так:
<HTML>
<HEAD>
<TITLE>Error</TITLE>
</HEAD>
<BODY BGCOLOR="white" FGCOLOR="black">
<!-- status code : 301 -->
<!-- Error: GET -->
<!-- host machine: yts282.global.media.ir2.yahoo.com -->
<!-- timestamp: 1408186488.000 -->
<!-- url: http://finance.yahoo.com/d/quotes.csv?s=ADS.DE&f=n-->
<H1>Error</H1>
<HR>
РЕШЕНИЕ
изменил запрошенный URL на http://download.finance.yahoo.com/d/quotes.csv?s=ADS.DE&е = п
Я изменил запрошенный URL на http://download.finance.yahoo.com/d/quotes.csv?s=ADS.DE&е = п