Во-первых, это не дубликат уже заданных вопросов о простом получении размера файла с помощью запроса заголовков. https://unix.stackexchange.com/questions/450402/how-to-retrieve-downloadable-file-size-with-curl-command Et c.
Я фактически начал с чтения их, когда мне было необходимо получить размер удаленного файла, и определил, что запуск curl выполняется с помощью -I / - голова должна дать мне Content-Length: что я могу использовать. Вместо этого для меня это дает мне ошибку 403.
# not posting full curl command for sake of privacy and NSFW link
# but it was derived from firefox's copy as curl command result
curl -I 'https://somedomain.xyz/files/video.mp4' -H 'User-Agent: Mozilla/5.0' -H 'Referer: xyz' -H 'Cookie: __cfduid=xyz'
HTTP/1.1 403 Forbidden
Date: Wed, 25 Mar 2020 17:41:31 GMT
Content-Type: text/html;charset=iso-8859-1
Connection: keep-alive
Cache-Control: must-revalidate,no-cache,no-store
Cf-Railgun: direct (starting new WAN connection)
CF-Cache-Status: DYNAMIC
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Server: cloudflare
CF-RAY: xyz-YUL
Здесь предложите его из-за отсутствия cookie / реферера https://unix.stackexchange.com/questions/139698/why-would-curl-and-wget-result-in-a-403-forbidden Я перепробовал все, что было в списке, и без разницы. Все еще 403.
Здесь можно предположить, что администратор сайта может заблокировать его На запрос HEAD поступает сообщение "403 запрещено", в то время как GET "200 в порядке"?
Что странно для меня что, если я пытаюсь загрузить файл, curl мгновенно сообщает о размере в итоговом столбце, хотя и в удобочитаемой форме.
curl 'https://somedomain.xyz/files/video.mp4' -H 'User-Agent: Mozilla/5.0' -H 'Referer: xyz' -H 'Cookie: __cfduid=xyz'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 384M 0 3148k 0 0 1594k 0 0:04:07 0:00:01 0:04:06 1594k
Как curl достигает этого и могу ли я использовать его для получения размера вместо запроса заголовка? Кроме того, есть ли способ, чтобы я просто получить запрос заголовка для работы?
Спасибо!