Проверить наличие файла по ссылке get запросом

ftalazol

Client
Регистрация
05.02.2020
Сообщения
100
Благодарностей
10
Баллы
18
Я проверяю наличие mp3 файла на сервере, делаю запрос, получаю headers , анализирую ответ и понимаю файл есть или его нету, но вот проблема чем больше файл тем дольше идет загрузка, я как понимаю загружается целиком весь файл, как бы сделать что бы можно было быстро узнать наличие файла без полно загрузки файла.??
 
  • Спасибо
Реакции: izubr

ZULI

Client
Регистрация
09.09.2020
Сообщения
423
Благодарностей
165
Баллы
43
А зачем файл грузить, если можно просто получить ответ сервера, если 200 значит файл есть
 

ftalazol

Client
Регистрация
05.02.2020
Сообщения
100
Благодарностей
10
Баллы
18
А зачем файл грузить, если можно просто получить ответ сервера, если 200 значит файл есть
Тут так и я говорю зачем? а как сделать что бы не грузить! если я ставлю получать только заголовки от этого ничего не меняется
 

ftalazol

Client
Регистрация
05.02.2020
Сообщения
100
Благодарностей
10
Баллы
18
Для получения только заголовков вроде как есть запрос head в http запросе, только все равно ничего не поменялось, ответ слишком долгий
 
  • Спасибо
Реакции: izubr

ZULI

Client
Регистрация
09.09.2020
Сообщения
423
Благодарностей
165
Баллы
43
Думаю нужна помощь знающих c#
 
  • Спасибо
Реакции: ftalazol и izubr

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
Вот GET-запрос, в ответе получающий только заголовки:

C#:
string get = ZennoPoster.HTTP.Request (
            ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET,//тип запроса
            url: project.Variables["url"].Value,//url запроса
            respType: ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderOnly,//что возвращать (в нашем случае только заголовки)
            Timeout: 60000, //таймаут запроса
            UserAgent: project.Profile.UserAgent);//user agent
Если в ответе HTTP/1.1 200 OK, соответственно по указанному URL действительно присутствует картинка. Иначе вернется что-то другое, например HTTP/1.1 404 Not Found.
 
  • Спасибо
Реакции: ftalazol, Alexmd и izubr

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 423
Баллы
113
C#:
string url = project.Variables["url"].Value;
System.Net.WebRequest request = System.Net.WebRequest.Create(url);
request.Method = System.Net.WebRequestMethods.Http.Head;
try{
    return ((System.Net.HttpWebResponse)request.GetResponse()).StatusCode.Equals(System.Net.HttpStatusCode.OK);
}
catch(System.Net.WebException ex){
    return false;   
}
 
  • Спасибо
Реакции: ftalazol, izubr и semafor

ftalazol

Client
Регистрация
05.02.2020
Сообщения
100
Благодарностей
10
Баллы
18
C#:
string url = project.Variables["url"].Value;
System.Net.WebRequest request = System.Net.WebRequest.Create(url);
request.Method = System.Net.WebRequestMethods.Http.Head;
try{
    return ((System.Net.HttpWebResponse)request.GetResponse()).StatusCode.Equals(System.Net.HttpStatusCode.OK);
}
catch(System.Net.WebException ex){
    return false;  
}
Благодарю, в моем случае еще 302 подходить
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)