Как удаленно узнать размер файла

  • 18.10.2022
  • 119
  • 0
  • 19.10.2022
  • 1
  • 1
  • 0
Как удаленно узнать размер файла

Использование утилиты cURL

Для данной задачи, мы будем использовать утилиту cURL, которая есть по умолчанию в большинстве дистрибутивов Linux, Windows 10 и 11, и в других операционных системах. Она умеет работать с такими популярными протоколами как FTP, HTTP, HTTPS, TFTP и т. д. Ниже, в качестве примера, узнаем размер одного из iso образов FreeBSD, доступного по протоколу HTTPS.

Не смотря на то, что примеры ниже идут для протокола HTTPS, они так же актуальны и для других протоколов.

Для того, чтобы через cURL посмотреть размер удаленного файла, открываем командную строку, или запускаем оболочку PowerShell, или запускаем терминал, после чего выполняем следующую команду:

В PowerShell вместо простого написания curl потребуется написать curl.exe, в противном случае будет использоваться встроенный в PowerShell командлет Invoke-WebRequest.
curl -sI https://download.freebsd.org/releases/i386/i386/ISO-IMAGES/13.1/FreeBSD-13.1-RELEASE-i386-disc1.iso

В результате выполнения данной команды, будет получен несколько строк различной информации, конкретно нас будет интересовать строка Content-Length. Здесь будет отображен размер в байтах.
Используя возможности командной строки Windows, а именно, команды findstr, можно сократить вывод информации только до одной единственной нужной строки:

curl -sI https://download.freebsd.org/releases/i386/i386/ISO-IMAGES/13.1/FreeBSD-13.1-RELEASE-i386-disc1.iso | findstr Content-Length

В UNIX подобных операционных системах (например Linux), можно использовать утилиту grep, и сразу задать отображение единственной нужной строки:

curl -sI https://download.freebsd.org/releases/i386/i386/ISO-IMAGES/13.1/FreeBSD-13.1-RELEASE-i386-disc1.iso| grep -i Content-Length
recluse@SV:~$ curl -sI https://download.freebsd.org/releases/i386/i386/ISO-IMAGES/13.1/FreeBSD-13.1-RELEASE-i386-disc1.iso| grep -i Content-Length
Content-Length: 864305152
recluse@SV:~$

Использование утилиты wget

Другой консольной утилитой, которой можно посмотреть размер удаленного файла, является wget. Она так же, как и cURL, присутствует во множестве операционных систем, вроде FreeBSD, Linux, MacOS и последних версиях Windows.

У данной программы есть специальный режим, предназначенный для получения информации об удаленном файле, без его скачивания. Активируется этот режим с помощью параметра --spider. Например, посмотрим информацию об образе FreeBSD:

wget --spider https://download.freebsd.org/releases/i386/i386/ISO-IMAGES/13.1/FreeBSD-13.1-RELEASE-i386-disc1.iso
recluse@SV:~$ wget --spider https://download.freebsd.org/releases/i386/i386/ISO-IMAGES/13.1/FreeBSD-13.1-RELEASE-i386-disc1.iso
Spider mode enabled. Check if remote file exists.
--2022-10-19 08:25:13-- https://download.freebsd.org/releases/i386/i386/ISO-IMAGES/13.1/FreeBSD-13.1-RELEASE-i386-disc1.iso
Resolving download.freebsd.org (download.freebsd.org)... 139.178.72.202, 213.138.116.78, 2604:1380:2000:9501::15:0, ...
Connecting to download.freebsd.org (download.freebsd.org)|139.178.72.202|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 864305152 (824M) [application/octet-stream]
Remote file exists.

recluse@SV:~$

Как видно по полученной информации, в параметре Length отображается размер в байтах, а так же в мегабайтах.

Была ли эта статья Вам полезна?

Добавить комментарий

Ваш адрес email не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.