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

使用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机器)连接到它。我在命令提示符下尝试了这个方法 并得到以下结果: 在浏览互联网上的一些文章时,我这样做了: 并得到了一些响应,包括服务器证书(在)。 接下来我该怎么办。我想,我只需将文本复制粘贴到

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

  • 我们可以用Gradle命令来执行特定的任务,运行一个任务需要你知道该任务的名称,如果Gradle能够告诉你有哪些任务可以执行那岂不是很棒?Gradle提供了一个辅助的任务tasks来检查你的构建脚本,然后显示所有的任务,包含一个描述性的消息。 $ gradle -q tasks 输出如下: All tasks runnable from root project Build Setup task