代码之家  ›  专栏  ›  技术社区  ›  User1

在C++中下载URL

  •  5
  • User1  · 技术社区  · 15 年前

    我想能够下载一个在C++中的URL。简单到:

    std::string s;
    s=download("http://www.example.com/myfile.html");
    

    理想情况下,这将包括以下URL:

    我在Boost中使用了ASIO,但它似乎没有处理FTP和HTTPS等协议的代码。现在我发现qt有更多我需要的( http://doc.trolltech.com/2.3/network.html )

    切换到qt是很有吸引力的,但它看起来有点重,并且与很多增强功能交叉。它是否值得学习另一个API(qt),或者Boost可以做的比我想象的更多?

    5 回复  |  直到 6 年前
        1
  •  17
  •   Joe    10 年前

    不是一个直接的答案,但你可以考虑 libCURL 这几乎就是你所描述的。

    有示例应用程序 here 尤其是 this 演示如何简单地使用。

        2
  •  3
  •   Gerald    15 年前

    我不会去Qt只是为了网络方面的东西,因为它并不是那么壮观;有很多缺失的部分。我只会在你需要图形用户界面的时候进行切换,因为它是一流的。

    libcurl使用起来非常简单,而且比qt更健壮。

        3
  •  2
  •   Community T.Woody    7 年前

    这个 Poco Project 有跨平台HTTP和FTP类(以及许多其他东西)。增压有重叠。我最近 found 这个,但还没有用过。

        4
  •  2
  •   Nick Dandoulakis    15 年前

    你可以使用 URLDownloadToFile URLOpenBlockingStream 虽然,虽然 cURL, libcurl 是做那种工作的合适工具。

        5
  •  0
  •   Andrew    6 年前

    我让它在没有libcurl和winsock的情况下工作: https://stackoverflow.com/a/51959694/1599699

    特别感谢 Nick Dandoulakis 为了建议厄洛彭布罗金斯tream!我喜欢它。