0
I want to download a Html page with c++
how can do it with simple solution
1 Answer
+ 4
Standard c++ and HTTP don't mix very well so there isn't a terribly simple solution.
Networking capabilities aren't part of the ISO standards of c++.
You say "download" but if you just want to write a file to the file system, .html files are just text files and those are easily written with c++'s ofstream. Some examples writing files are at: https://www.cplusplus.com/doc/tutorial/files/ and you can write HTML like any other text file.
The simplest solution for writing HTML using c++ invoked through HTTP is likely running your compiled c++ program using CGI. More details are at: https://www.tutorialspoint.com/cplusplus/cpp_web_programming.htm
Another option is to implement your own HTTP server using c++. This lists a few libraries that could help you do that:
https://www.reddit.com/r/cpp/comments/cjj9t5/what_c_web_server_library_one_should_use_nowadays/
Other libraries will be more suitable for you if you want to make a server in c++ but I just want to share that I've tackled a related problem before. I created an HTTP server in c++ back in 2011 so my autonomous robot racing challenge simulator could make an API available for testable code. The IARRC simulator's code is available at:
https://github.com/joshi1983/IARRCSim
Back in 2011, I didn't see a lot of cross-platform support for HTTP so I created my own off TCP/IP. My implementation is inferior to other libraries because it isn't optimized well or fully featured. My server doesn't support compressed HTTP responses, no HTTPS support, closes TCP/IP connections after every response instead of maintaining the connection for multiple HTTP requests and responses. I didn't implement beyond very early HTTP 1.0 protocol features.