|
Вопрос # 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)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|