当前位置: 首页 > 面试题库 >

使用Curl命令行实用程序并行下载

冯宪
2023-03-14
问题内容

我想从网站上下载一些页面,并成功地使用了它,curl但是我想知道是否curl像大多数下载管理器一样一次一次下载多个页面,这会加快速度。是否可以在curl命令行实用程序中执行此操作?

我正在使用的当前命令是

curl 'http://www...../?page=[1-10]' 2>&1 > 1.html

在这里,我从1到10下载页面,并将它们存储在名为的文件中1.html

另外,是否有可能curl将每个URL的输出写入单独的文件say URL.html,其中URL正在处理的页面的实际URL 在哪里。


问题答案:

好吧,curl这只是一个简单的UNIX进程。您可以使许多curl进程并行运行并将它们的输出发送到不同的文件。

curl可以使用URL的文件名部分来生成本地文件。只需使用-O选项(man curl有关详细信息)。

您可以使用以下内容

urls="http://example.com/?page1.html http://example.com?page2.html" # add more URLs here

for url in $urls; do
   # run the curl job in the background so we can start another job
   # and disable the progress bar (-s)
   echo "fetching $url"
   curl $url -O -s &
done
wait #wait for all background jobs to terminate


 类似资料:
  • 当我在终端中点击curl代码时,我得到了200,所以我假设我编写testStytch的方式到目前为止还可以。但是,一旦我试图集成到java文件中,我就会收到错误的请求响应。我现在有点不知所措。https://github.com/libetl/curl这就是我所说的转换curl代码。 这是我得到的错误。https响应代理{HTTP/1.1 400错误请求[日期:星期四,2021 23:21:424

  • 在Node.js上安装CoffeeScript时,我们可以访问coffee-command line utility 。 在这里, coffee命令是关键命令。 使用此命令的各种选项,我们可以编译和执行CoffeeScript文件。 您可以使用-h或--help选项查看coffee命令的选项列表。 打开Node.js command prompt并在其中执行以下命令。 c:\>coffee -he

  • 我不熟悉Curl和Cacerts的世界,在连接到服务器时遇到了一个问题。基本上,我需要测试从一台机器到另一台机器的https连接。我有一个URL,我需要从机器a(linux机器)连接到它。我在命令提示符下尝试了这个方法 并得到以下结果: 在浏览互联网上的一些文章时,我这样做了: 并得到了一些响应,包括服务器证书(在)。 接下来我该怎么办。我想,我只需将文本复制粘贴到

  • 问题内容: 在集成到更大的应用程序之前,我正在尝试测试一个概念验证的命令行应用程序。我想要做的是使用此示例使用NSURLSession下载一些数据。但是,如果使用简单的OS X命令行应用程序中给出的示例,则该应用程序将在检索数据之前退出。 如何使用NSURLSession从独立的命令行应用程序下载数据?我所读的内容是使用NSRunLoop,但是我还没有在Swift中找到明确的示例,因此,如果NSR

  • 使用命令行 CasperJS附带了位于cli模块中的PhantomJS解析器之上的内置命令行解析器。它将传递的参数公开为位置和命名选项。 Casper实例总是包含一个可以使用的cli属性来方便访问这些参数,因此您不用担心操作cli模块解析API。 我们来看看这个简单的casper脚本: var casper = require("casper").create(); casper.echo("C