0

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&f=nに変更しました

4

1 に答える 1

0

要求された URL をhttp://download.finance.yahoo.com/d/quotes.csv?s=ADS.DE&f=nに変更しました

于 2014-08-17T17:55:08.450 に答える