Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 297

/ вопрос решён /

Доброго времени суток, уважаемые эксперты! подскажите пожалуйста как можно узнать имя файла зная допустим вот эту ссылку http://www.heroesportal.net/maps.php?type=H4WW-XL . В действительности имя - Bestiary_1_2.zip. Если тупо пытаться качать по ссылке и наугад ставить имя сохраняемого файла , то не катит!

eclipse Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: eclipse (статус: Посетитель)
Вопрос отправлен: 7 июня 2010, 18:05
Состояние вопроса: решён, ответов: 0.


Мини-форум вопроса

Всего сообщений: 8; последнее сообщение — 1 июля 2011, 14:02; участников в обсуждении: 3.
Вадим К

Вадим К (статус: Академик), 7 июня 2010, 18:31 [#1]:

Оно передается в заголовках. Если просто хочется узнать - можно сделать HEAD запрос (он очень похож на GET, но не возвращает тело, только заголовки).
Галочка "подтверждения прочтения" - вселенское зло.
eclipse

eclipse (статус: Посетитель), 7 июня 2010, 19:06 [#2]:

Я весь день роюсь в нете и никак не могу....
сперва открываю internetopen, потом internetopenurl, internet connect, httpquerryinfo с флагом SlRF ... но нифига не отдаёт он мне запрос или я мож чё не так делаю? сможете расписать как нибудь пожалуйста?
Вадим К

Вадим К (статус: Академик), 7 июня 2010, 19:55 [#3]:

Даром связались с WinInet... Хотя может быть это мои предубеждения.

К сожалению, я не могу продолжать разговор с человеком, который столь вольный в словесных комбинациях. Просто нет желания.
Галочка "подтверждения прочтения" - вселенское зло.
eclipse

eclipse (статус: Посетитель), 7 июня 2010, 20:00 [#4]:

У wininet есть одна полезная штука - докачка!
Amidamaru

Amidamaru (статус: 4-ый класс), 7 июня 2010, 23:16 [#5]:

У FlashGet тоже есть докачка :D
Но я уверен на 100% там wininet не использется.
Лично я делаю всё на сокетах. Это совсем не так сложно как кажется.
Приглашаю Вас на наш IRC-канал: #delphiintru в сети DalNet.
eclipse

eclipse (статус: Посетитель), 8 июня 2010, 10:30 [#6]:

Может и легче просто хочется всё-таки доделать наченное.
eclipse

eclipse (статус: Посетитель), 8 июня 2010, 17:12 [#7]:

Короче чтоб получить имя файла можно сделать так -
HttpQueryInfo(hURL,HTTP_QUERY_LOCATION, @HeaderBuf, dwBufLen, dwIndex);

И как докачивать в сокетах тоже разобрался!

В итоге вроде распедалил и wininet и по сокетам как качать - в итоге ПО СОКЕТАМ ЛУЧШЕ И ПРОЩЕ!

ща начну другое ченить мучать!
eclipse

eclipse (статус: Посетитель), 1 июля 2011, 14:02 [#8]:

Всё-таки перешёл на IdHTTP, с ним проще, но там столкнулся с такой же проблемой но потом нашёл выход:

1. делаем IdHTTP.Head.....
2. Потом примерног так:
info:= TStringList.Create;
info.Text:= [b]HTTP.Response.RawHeaders.GetText;[/b]
for i:= 0 to info.Count - 1 do
  begin
    if Pos('filename=', info.Strings[i]) <> 0 then
      begin
        FName:= Form1.suiEdit2.Text + Copy(info.Strings[i], LastDelimiter('=', info.Strings[i])+1, MaxInt);
        while Pos('"', FName) <> 0 do
          begin
            Delete(FName, Pos('"', FName),1);
          end;
      Form1.suiEdit2.Text:= FName;
     end;
              end;

HTTP.Response.RawHeaders.GetText; - Этот запрос нам даст всю инфу о файле: размер, содержимое, версию и дату файла....

1 июля 2011, 14:02: Статус вопроса изменён на решённый (изменил автор вопроса — eclipse)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:50
Выполнено за 0.03 сек.