【问题标题】:run CURL from C++ to asyncronously fetch several URLs从 C++ 运行 CURL 以异步获取多个 URL
【发布时间】:2015-07-11 15:27:12
【问题描述】:

我的 C++ 程序的一个逻辑部分必须获取调用 curl(Linux 程序,而不是库)的文本文件并通过管道获取其输出。可能有很多网址要下载。并且下载时间可能是合理的。该计划旨在“可扩展”且有效。

所以问题是哪种变体更可取:

  1. 运行 curl 的单个实例,为其提供 url 列表
  2. 创建一个线程池,每个线程都使用单个 url 调用一个 curl 进程程序,并随后聚合线程输出。

换句话说就是curl在下载多个url时是异步的,否则我必须手动实现。

【问题讨论】:

标签: c++ linux curl asynchronous


【解决方案1】:

如果您从管道调用 cURL,那么首选的解决方案是创建一个线程池。由于线程彼此独立,因此它们一次获取多个 URL。

但是,另一个有效的解决方案是使用 cURL 库而不是管道。这是example from libcurl

【讨论】:

    猜你喜欢
    • 2021-08-16
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 2020-10-01
    • 1970-01-01
    • 2016-03-01
    相关资源
    最近更新 更多