| 
| 
 | Вопрос # 4 297/ вопрос решён / | 
 |  Доброго времени суток, уважаемые эксперты! подскажите пожалуйста как можно узнать имя файла зная допустим вот эту ссылку http://www.heroesportal.net/maps.php?type=H4WW-XL . В действительности имя - Bestiary_1_2.zip. Если тупо пытаться качать по ссылке и наугад ставить имя сохраняемого файла , то не катит! 
|  |   Вопрос задал: eclipse (статус: Посетитель)Вопрос отправлен: 7 июня 2010, 18:05
 Состояние вопроса: решён, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 8; последнее сообщение — 1 июля 2011, 14:02; участников в обсуждении: 3. 
|   | Вадим К (статус: Академик), 7 июня 2010, 18:31 [#1]:Оно передается в заголовках. Если просто хочется узнать - можно сделать HEAD запрос (он очень похож на GET, но не возвращает тело, только заголовки). Галочка "подтверждения прочтения" - вселенское зло. |  
|   | eclipse (статус: Посетитель), 7 июня 2010, 19:06 [#2]:Я весь день роюсь в нете и никак не могу.... сперва открываю internetopen, потом internetopenurl, internet connect, httpquerryinfo с флагом SlRF ... но нифига не отдаёт он мне запрос или я мож чё не так делаю? сможете расписать как нибудь пожалуйста?
 |  
|   | Вадим К (статус: Академик), 7 июня 2010, 19:55 [#3]:Даром связались с WinInet... Хотя может быть это мои предубеждения. 
 К сожалению, я не могу продолжать разговор с человеком, который столь вольный в словесных комбинациях. Просто нет желания.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | eclipse (статус: Посетитель), 7 июня 2010, 20:00 [#4]:У wininet есть одна полезная штука - докачка! |  
|   | Amidamaru (статус: 4-ый класс), 7 июня 2010, 23:16 [#5]:У FlashGet тоже есть докачка  Но я уверен на 100% там wininet не использется.
 Лично я делаю всё на сокетах. Это совсем не так сложно как кажется.
 |  
|   | eclipse (статус: Посетитель), 8 июня 2010, 10:30 [#6]:Может и легче просто хочется всё-таки доделать наченное. |  
|   | eclipse (статус: Посетитель), 8 июня 2010, 17:12 [#7]:Короче чтоб получить имя файла можно сделать так - HttpQueryInfo(hURL,HTTP_QUERY_LOCATION, @HeaderBuf, dwBufLen, dwIndex);
 
 И как докачивать в сокетах тоже разобрался!
 
 В итоге вроде распедалил и wininet и по сокетам как качать - в итоге ПО СОКЕТАМ ЛУЧШЕ И ПРОЩЕ!
 
 ща начну другое ченить мучать!
 |  
|   | 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) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |