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 😉


Anmelden zum Antworten