Statistik von Website empfangen?
-
Hallo,
Wie kann ich eine Statistik von einer Website empfangen?
z.B auf einer Website steht,dass es 29°C sind und das will
ich jetzt in einem C++ Programm ausgeben,wie mach ich das?
-
Du benötigst eine Bibliothek, um über HTTP zu kommunizieren. Dann sendest du eine Anfrage an den Server und erhältst eine Antwort, die du in deinem C++-Programm ausgeben kannst.
Daher ist die Frage: Welche Bibliothek nimmst du? In der Standardbibliothek findest du nichts. SFML könnte das Gewünschte, es gibt wohl auch etliche andere Frameworks für sowas.
-
Ich nehme dann mal SFLM
-
#include <boost/asio.hpp> #include <boost/array.hpp> #include <iostream> #include <string> boost::asio::io_service io_service; boost::asio::ip::tcp::resolver resolver(io_service); boost::asio::ip::tcp::socket sock(io_service); boost::array<char, 4096> buffer; void read_handler(const boost::system::error_code &ec, std::size_t bytes_transferred) { if (!ec) { std::cout << std::string(buffer.data(), bytes_transferred) << std::endl; sock.async_read_some(boost::asio::buffer(buffer), read_handler); } } void connect_handler(const boost::system::error_code &ec) { if (!ec) { boost::asio::write(sock, boost::asio::buffer("GET / HTTP 1.1\r\nHost: highscore.de\r\n\r\n")); sock.async_read_some(boost::asio::buffer(buffer), read_handler); } } void resolve_handler(const boost::system::error_code &ec, boost::asio::ip::tcp::resolver::iterator it) { if (!ec) { sock.async_connect(*it, connect_handler); } } int main() { boost::asio::ip::tcp::resolver::query query("www.highscore.de", "80"); resolver.async_resolve(query, resolve_handler); io_service.run(); }
Parsen & Fertig.
-
Mach noch ein Connection: close rein