Там какой-либо путь состоит в том, чтобы получить размер удаленного файла, не загружая его?

Вообще возможно получать размер удаленного файла, не загружая его? Файл по HTTP, не (S) FTP. Я хочу знать это, потому что я хочу загрузить что-то, в то время как соединено ограниченным беспроводным планом 3G, и я не хочу использовать всю свою пропускную способность в одном населении. У Меня нет доступа к серверу, вообще. Таким образом, я ничего не могу сделать серверная сторона. Я нахожусь на Mac OS X. Решения, которые используют командную строку, плюс, но не требуются.

Между прочим, определенный файл, для которого я хочу информацию, является загрузкой MP3 с этого веб-сайта.

5
задан 27.09.2014, 08:06

3 ответа

Можно сделать это путем получения Content-Length заголовок, пока это - HTTP.

Один способ сделать это на командной строке с curl, например:

chris@chris-laptop:~$ curl -I -L http://www.fakkelbrigade.eu/chris/movies/drosovol1_final_h264_download.mp4
HTTP/1.1 200 OK
Date: Tue, 25 Jan 2011 22:22:51 GMT
Server: Apache/2.2.16 (Debian)
Last-Modified: Tue, 11 Jan 2011 16:32:52 GMT
ETag: "3aa003-1b0c3479-49994a2c6f500"
Accept-Ranges: bytes
Content-Length: 453784697
Content-Disposition: attachment
Content-Type: application/octet-stream

Content-Length находится в байтах.

4
ответ дан 09.01.2020, 03:24

Можно выйти HTTP HEAD запросы для получения единственных данных заголовка. Content-Length то, что Вы хотите.

$ telnet superuser.com 80
Trying 64.34.119.12...
Connected to superuser.com.
Escape character is '^]'.
HEAD / HTTP/1.0

HTTP/1.1 302 Found
Content-Length: 141
Location: http://stackexchange.com
Date: Tue, 25 Jan 2011 22:21:28 GMT
Connection: close
1
ответ дан 09.01.2020, 03:24

Это зависит от того, как сервер является установкой и файлом. С большинством файлов сервер отправляет его в заголовках, но это может быть динамический файл, и поэтому это не знает (и Ваш браузер не может предположить, сколько времени это возьмет.

tobylane$ telnet stackexchange.com 80

Попытка 64.34.119.12...

Подключенный к stackexchange.com.

Символ ESC является '^]'.

ДОБЕРИТЕСЬ /

HTTP/1.1 302 Найденных

Местоположение: http://stackexchange.com

Дата: вторник, 25 января 2011 22:01:22 GMT

Соединение:закрыть

Я не уверен, что хороший запрос (ДОБЕРИТЕСЬ / работал над другими сайтами), но я надеюсь, что это помогает.

0
ответ дан 09.01.2020, 03:24

Теги

Похожие вопросы