2013-03-01 6 views
3

Я работаю над YouTube Downloader, который получает размеры всех доступных качеств, но обычно это занимает очень много времени, а иногда просто идет как молния!Какой самый быстрый способ получить размер онлайн-файла [http]

Я написал эту функцию, и это очень хорошо [только иногда, как я сказал раньше]!

Uri url = new Uri("http://example.com/document.docx"); 
    System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url); 
    System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse(); 
    response.Close(); 

    // iSize will handle the size of the file in bytes 
    Int64 iSize = response.ContentLength; 

.

Итак, Есть ли более быстрый способ сделать это? (Подумайте, что файлы, которые будут измеряться, содержат более восьми файлов).

.

Заранее благодарю вас;

+4

Ваш вопрос уже был [задан и дан ответ] (http://stackoverflow.com/questions/122853/get-http-file-size). – nvoigt

+0

@nvoigt Эта функция в решении очень медленная! –

ответ

1

Это полностью зависит от того, насколько хорошо работает HTTP-сервер.

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

Однако многие серверы этого не делают.

+0

Я собираюсь получить размер от серверов YouTube –

+1

@AlaaAlrifaie - Так что это зависит от того, как Google настроил свои серверы. То, что вы просите, не должно быть быстрым, оно также должно быть запущено в фоновом режиме, поэтому не имеет значения, медленно ли оно. –

Смежные вопросы