1
私は株価情報を取得し、Google検索を実行し、データ(現在の価格、高値、安値、変動率など)を出力するプログラムを作成しようとしています。 。 boost asioを使用しようとしていて、サーバーからデータを返さない。boost asioを使用してウェブページを取得
#include "stdafx.h"
#include <iostream>
#include <istream>
#include <ostream>
#include <string>
#include <boost/asio.hpp>
std::string getStockPage(std::string ticker) {
boost::asio::ip::tcp::iostream stream;
stream.connect("www.google.com", "http");
std::cout << "connected\n";
stream << "GET /search?q=" << ticker << " HTTP/1.1\r\n";
stream << "Host: www.google.com\r\n";
stream << "Cache-Control: no-cache\r\n";
//stream << "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
stream << "Connection: close\r\n\r\n";
std::cout << "sent\n";
std::ostringstream os;
//os << stream.rdbuf();
char buffer[100];
os << stream.readsome(buffer, 100);
return std::string(buffer, 100);
}
int main() {
std::cout << getStockPage("$tsla");
std::cout << "done\n";
std::string temp;
std::getline(std::cin, temp);
return 0;
}
私はそれが応答を出力する問題を抱えていたかどうかを確認するためにちょうど最初の100個の文字を読み込もうとしましたが、それだけでヌル文字を出力します。私はそれがGoogleのページ全体を出力するようにしたい "www.google.com/search?q=$tsla"
ご協力いただければ幸いです!
を印刷されたプログラムhttp://www.boost.org/doc/libs/1_65_1/doc/:あなたはフラッシュを追加することができますhtml/boost_asio/example/cpp03/http/client/sync_client.cpp –
[cURLに類似したboost :: asioを使用したhttp GETリクエストの送信]の可能な複製(https://stackoverflow.com/questions/28728347/sending-http -get-request-using-boostasio-curl-like-curl) –