Quiero escribir un programa en C++ que me ayude a administrar mi grupo de hockey, y una de las cosas clave que tendré que hacer es leer el calendario de la semana adelante. Esperaba usar el sitio web NHL. ¿Hay alguna forma de que el programa descargue el archivo HTML de una url determinada y luego analizarlo? Supongo que una vez que haya descargado el archivo, Simple I/O lo haría, pero no estoy seguro de cómo descargar el archivo.Cómo puedo obtener datos de un sitio web dentro de un programa en C++
Respuesta
Utilizaría alguna biblioteca que proporcione abstracción Http.
Por ejemplo:
#include <boost/network/protocol/http/client.hpp>
#include <string>
#include <iostream>
int main()
{
boost::network::http::client client;
boost::network::http::client::request request("http://www.example.com");
request << boost::network::header("Connection", "close");
boost::network::http::client::response response = client.get(request);
std::cout << body(response);
}
No creo que se puede conseguir mucho más fácil de lo que
en GNU/Linux compilar con:
g++ -I. -I$BOOST_ROOT -L$BOOST_ROOT/stage/lib -lboost_system -pthread my_main.cpp
ejemplo de esto podría llegar a ser muy larga, ya que QHttp puede enviar sólo las solicitudes no bloqueantes (es decir, que tiene que coger algunas señales que indican que un pedido se terminó, etc.). Pero la documentación es excelente, por lo que no debería ser un problema. :)
+1 Aunque esta biblioteca aún no se ha aceptado, parece elegante. – AraK
+1 porque es más C++ ish que libcurl. – ybungalobill
que finalmente lograron compilar y enlazar con:
g++ -I. -I/usr/include -lboost_thread -lboost_system
-lcppnetlib-client-connections -lcppnetlib-server-parsers
-lcppnetlib-uri -pthread main.cpp
- 1. ¿Cómo puedo superponer imágenes (png) dentro de un sitio web?
- 2. ¿Cómo puedo obtener el favicón de un sitio web?
- 3. Obtener datos del sitio web
- 4. ¿Cómo incrustar audio dentro de un sitio web?
- 5. Ejecutar programa desde dentro de un programa C
- 6. Cómo obtener la URL base de un sitio web externo
- 7. Leyendo datos de un sitio web usando C#
- 8. ¿Cómo localizas un sitio web basado en bases de datos?
- 9. segmentos dentro de un programa C ejecutable
- 10. C# AssemblyFileVersion uso dentro de un programa
- 11. ¿Cómo alojar un sitio web JSP en un servidor web?
- 12. descargar un sitio web completo en C#
- 13. ¿Cómo "escanear" un sitio web (o página) para obtener información y ponerlo en mi programa?
- 14. ¿Cómo extraer los datos de un sitio web usando Java?
- 15. ¿Cómo obtener el tamaño de una función C desde dentro de un programa C o con un ensamblaje en línea?
- 16. Java - Búsqueda de datos en un sitio web
- 17. ¿Cómo puedo reproducir un archivo PLS desde un sitio web?
- 18. Cómo obtener el título del sitio web de C#
- 19. ¿Cómo compilo el código Perl dentro de un programa C?
- 20. ¿Cómo reiniciar Linux desde dentro de un programa C++?
- 21. Incrustar un archivo ejecutable externo dentro de un programa C#
- 22. ¿Cómo puedo recopilar datos de un sitio web que usa AJAX, con Perl?
- 23. ¿Cómo puedo recuperar el favicon de un sitio web?
- 24. Cómo ejecutar MSDeploy un paquete de sitio web creado en un sitio web de IIS virgen
- 25. ¿Cómo obtener enlaces de sitio de Google en un sitio web?
- 26. Obtener datos de un micrófono en C#
- 27. ¿Cómo puedo recuperar un ícono de sitio web?
- 28. Incluyendo encabezados C dentro de un programa C++
- 29. ¿Cómo puedo implementar OCR en un sitio web usando PHP?
- 30. ¿Cómo puedo iniciar sesión en un sitio web usando Python?
Posible duplicado de [programación de leer una página web] (https://stackoverflow.com/questions/389069/programmatically-reading-a -web-page) – user463035818