我正在使用 Dev-C++ 并且我正在寻找一种模式来打开(...或更好...我需要在后台加载浏览器实例)默认浏览器(示例 IE)并发送请求以获取我请求的页面的源代码。
我可以在 C++ 中做这样的事情吗?
谢谢!
PS我需要这个用于Windows
我正在使用 Dev-C++ 并且我正在寻找一种模式来打开(...或更好...我需要在后台加载浏览器实例)默认浏览器(示例 IE)并发送请求以获取我请求的页面的源代码。
我可以在 C++ 中做这样的事情吗?
谢谢!
PS我需要这个用于Windows
您似乎为您的问题设想了错误的解决方案。如果您想获取网页的 HTML 源代码,则无需通过浏览器进行。您需要执行浏览器所做的任何事情来获取它。
当您在浏览器中输入地址时,浏览器会向托管您请求的资源(通常是网页)的服务器发送 HTTP GET 请求,然后服务器会返回包含资源内容(通常是 HTML)的 HTTP 响应.
你想在你的应用程序中做同样的事情。您需要向服务器发送 HTTP 请求并读取响应。一个流行的库是libcurl。
如果您不必发送 POST 请求(即只是一个简单的 Web 请求或在 URL (GET) 上传递参数,那么您可以使用URLDownloadToFile()
.
如果您不想使用回调等而只是下载文件,则可以将其称为相当简单:
URLDownloadToFile(0, "http://myserver/myfile", "C:\\mytempfile", 0, 0);
还提供了一些其他功能,可以自动将下载的数据推送到流而不是文件。
它不能在纯 C++ 中完成。您应该使用本机 Windows 库或其他(如Qt Framework)并使用它获取和解析网站的功能。在 Qt 中,您将使用QtWebkit。
编辑:如果你只想要一个页面的源代码,你可以在不使用浏览器或其引擎的情况下做到这一点,你可以使用Winsock。