【问题标题】:Curl Multi Fetch Urls at Same Time同时卷曲多个获取网址
【发布时间】:2014-01-25 19:19:14
【问题描述】:

我正在尝试制作一个可以同时获取多个 URL 的程序。我正在使用这个 libcurl 和 libuv 的示例代码 http://curl.haxx.se/libcurl/c/multi-uv.html

当我编译它并向程序传递一些 URL 时,例如

/curl_fetch google.com yahoo.com facebook.com

它工作正常,我立即得到结果。但是,当我传递更多参数时,例如 100 个 URL,几分钟内根本没有返回任何内容。尝试并行获取多个页面时是否有锁定的原因?

【问题讨论】:

    标签: c curl libcurl libuv


    【解决方案1】:

    要真正实现并行传输,您需要使用为支持异步名称解析而构建的 libcurl。它需要使用线程解析器或 c-ares 构建。股票解析器是同步的,因此缓慢的 DNS 解析将阻止所有同时传输,如果添加数百个传输,其中一些可能会出现缓慢的名称解析...

    【讨论】:

    • 我用 c-ares 编译了 libcurl,但我仍然遇到同样的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 2019-01-28
    • 2010-11-21
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多