Thead 安全 HTTP 客户端模块

Thead safe HTTP client module

您会为线程安全的 HTTP 客户端推荐哪个模块?
[备选方案:基于事件的多会话 HTTP 客户端]

额外要求:

  1. 支持重试(使用部分下载的大文件)
  2. 共享 cookie
  3. 作为 Debian 软件包提供
  4. 大文件的多会话并行下载[不太重要]

不要使用多线程;那只会减慢速度并让您头疼。相反,使用可以执行并行请求的现有引擎。

例如,

Net::Curl::Multi and WWW::Curl::Mult 提供对 libcurl 的访问,这是一个经过验证、功能强大且快速的引擎。 (我在生产中使用了前者。)如果您愿意,您仍然可以在不同的线程中处理响应。

AnyEvent::HTTP and AnyEvent::Curl::Multi 是另外两个这样的引擎。但是,使用这些会增加很多开销(这可能会影响性能和健壮性),而且我不知道各种事件循环处理线程环境的效果如何。

如果这些模块中的任何一个没有 Debian 软件包,请创建一个!

AnyEvent::HTTP 支持您想要使用的任何事件循环。