gpt4 book ai didi

bash - 下载大于一定大小的文件

转载 作者:行者123 更新时间:2023-11-29 09:47:05 25 4
gpt4 key购买 nike

我有 Files.txt,其中包含 Excel 文件的 URL 列表:

http://www.bcheadset.ca/applicant.xlsx
http://www.bcheadset.ca/fte.xlsx
http://www.iutox.org/TRTF_Matrix2012_Oct.xlsx
http://www.journalprices.com/2013_FinalSummaryForWeb.xlsx
http://www.camts.org/7__2013_Aircraft_Checklist.xlsx
http://www.nanotr11.org/poster_program.xlsx
http://www.vliruos.be/media/6352100/nss2015_annex_3_budget.xlsx
...

我想做的是下载(通过 wget)大于 10Mo 的文件。

要在下载文件之前验证文件是否大于 10Mo,我们可以使用 curl --head。例如,curl --head http://www.bcheadset.ca/fte.xlsx 返回

HTTP/1.1 200 OK
Content-Length: 3158847
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Last-Modified: Mon, 27 Jul 2015 22:16:45 GMT
Accept-Ranges: bytes
ETag: "ffb49fecb9c8d01:c05"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Tue, 06 Oct 2015 15:14:27 GMT

并且从Content-Length,我们可以验证它大于10Mo

我的问题是如何通过一段 BashPerl 将其自动化。特别是我不知道如何提取 Content-Length 并进行比较...

有人能帮忙吗?

最佳答案

您可以使用 LWPperl 并发送 HEAD 请求,获取响应 header 。像这样:

#!/usr/bin/env perl
use strict;
use warnings;

use LWP;
use Data::Dumper;

my $request = HTTP::Request -> new ( HEAD => 'http://www.google.com' );
my $agent = LWP::UserAgent -> new;
my $response = $agent -> request ( $request );
print $response -> header ( 'Content-Length');

然后使用 LWP 执行 GET 而不是 HEAD 您想要该文件。

关于bash - 下载大于一定大小的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32973928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com