Re[3]: Аспекты устройства паука.
От: Nikolay_Ch Россия  
Дата: 04.09.06 05:46
Оценка: +1
F>Я думаю правильнее было бы искать в описаниях соответствующих библиотек, например: MSHTML
Байты от и до указываются в заголовках HTTP — поэтому смотри в описание именно протокола HTTP...
Re[10]: Аспекты устройства паука.
От: Sinclair Россия https://github.com/evilguest/
Дата: 07.09.06 13:44
Оценка: +1
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>Вероятно — т.к. мы делали на чистых сокетах. И сервер упорно игнорировал запросы, пока не добавили эти заголовки...

И правильно делал. Откуда он знает, что на них отвечать?
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Аспекты устройства паука.
От: freeneutron  
Дата: 03.09.06 07:31
Оценка:
Раз уж речь идет о создании элегантного паука на mshtml, то среди прочих аспектов необходимо определить мезанизм докачки после разрыва связи. Меня в этом механизме интересует способ формирования запроса на часть html-кода.
Где-то мне сказали что закачку страницы можно начинать с указанного байта и остоновить на указанном байте (так что оставшаяся часть не включается в трафик), но как это делается — ответа я еще не получил.
Re: Аспекты устройства паука.
От: Igor Trofimov  
Дата: 03.09.06 11:01
Оценка:
F> Где-то мне сказали что закачку страницы можно начинать с указанного байта и остоновить на указанном байте (так что оставшаяся часть не включается в трафик), но как это делается — ответа я еще не получил.

Ну раз ответа из того места, "где тебе сказали" пока нету, наверное надо почитать первоисточник — спецификацию HTTP.
здесь должно быть где-то
Re[2]: Аспекты устройства паука.
От: freeneutron  
Дата: 03.09.06 16:01
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

F>> Где-то мне сказали что закачку страницы можно начинать с указанного байта и остоновить на указанном байте (так что оставшаяся часть не включается в трафик), но как это делается — ответа я еще не получил.


iT>Ну раз ответа из того места, "где тебе сказали" пока нету, наверное надо почитать первоисточник — спецификацию HTTP.

iT>здесь должно быть где-то

Я думаю правильнее было бы искать в описаниях соответствующих библиотек, например: MSHTML, кстати там есть метод — Navigate, и возможно ответ на мой вопрос содержится в его аргументах (это я проверю в MSDN).
Воабще, я думал что мое сообщение прицепится к теме о создании паука, для выкачивания сайтов, там как-раз собралась нужная мне аудитория, но сообщение вышло отдельной темой (это из-за того что кнопки в форуме не подписаны, хотя в целом форум мне нравится).
Re[4]: Аспекты устройства паука.
От: freeneutron  
Дата: 04.09.06 08:22
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

F>>Я думаю правильнее было бы искать в описаниях соответствующих библиотек, например: MSHTML

N_C>Байты от и до указываются в заголовках HTTP — поэтому смотри в описание именно протокола HTTP...

Заголовки. Я нашел про них информацию здесь.
    If the download fails, when the file is requested again, Internet Explorer will send the ETag, file name, and the value range indicating how much of the file has been successfully downloaded before the interruption so that the Web server (IIS) can attempt to resume the download. That second request might look something like this.
    GET http://192.168.0.1/download.zip HTTP/1.0
    Range: bytes=933714-
    Unless-Modified-Since: Sun, 26 Sep 2004 15:52:45 GMT
    If-Range: "58afcc3dae87d52:3173"

Я так понял, что "ETag, file name, and the value range" — это элементы заголовка (показанные на сером фоне), а "second request" — это запрос на докачку.

В MSHTML есть метод
Sub Navigate(URL As String, [Flags], [TargetFrameName], [PostData], [Headers])
, в котором [Headers] — это и есть структура в которую записываются элементы заоловка.
Кстати, где-то я читал, что элемент заголовка "Range: bytes=n" можно указать в адресной строке IE, тогда загрузка пойдет с n-го байта. Но у меня с этим ни чего не вышло, можт быть надо соблюсти правила некоторого синтаксиса.
Re[5]: Аспекты устройства паука.
От: Nikolay_Ch Россия  
Дата: 04.09.06 09:29
Оценка:
F>Кстати, где-то я читал, что элемент заголовка "Range: bytes=n" можно указать в адресной строке IE, тогда загрузка пойдет с n-го байта. Но у меня с этим ни чего не вышло, можт быть надо соблюсти правила некоторого синтаксиса.
Понимаешь, тут такая фича. Заголовок Range работает только для HTTP 1.1. А для 1.1 еще надо указать заголовок Host... Если этого не сделать — то ничего не получится.
Re[6]: Аспекты устройства паука.
От: freeneutron  
Дата: 04.09.06 12:48
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

F>>Кстати, где-то я читал, что элемент заголовка "Range: bytes=n" можно указать в адресной строке IE, тогда загрузка пойдет с n-го байта. Но у меня с этим ни чего не вышло, можт быть надо соблюсти правила некоторого синтаксиса.

N_C>Понимаешь, тут такая фича. Заголовок Range работает только для HTTP 1.1. А для 1.1 еще надо указать заголовок Host... Если этого не сделать — то ничего не получится.

В моем источнике об этом ничего не сказано, там даже не встречается слова Host, при этом там преведены примеры заголовков для обоих протоколов.
В любом случае, свою задачу я решил, способ скачивания кусков html-кода найден. Хотя, судя по статьям, не все серверы отдают код кусками, мне таких еще не попадалось.
Всем спасибо за поддержку. Форум — то — что — надо.
Re[7]: Аспекты устройства паука.
От: Nikolay_Ch Россия  
Дата: 04.09.06 13:25
Оценка:
F>В моем источнике об этом ничего не сказано, там даже не встречается слова Host, при этом там преведены примеры заголовков для обоих протоколов.
Дело в том, что когда мы реализовывали клиентов HTTP — то столкнулись именно с этой проблемой.
Re[8]: Аспекты устройства паука.
От: Sinclair Россия https://github.com/evilguest/
Дата: 07.09.06 02:58
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

F>>В моем источнике об этом ничего не сказано, там даже не встречается слова Host, при этом там преведены примеры заголовков для обоих протоколов.

N_C>Дело в том, что когда мы реализовывали клиентов HTTP — то столкнулись именно с этой проблемой.
Скорее всего, WebRequest уже достаточно умен, чтобы автоматически вычислить HOST из запрошенного урла и передать его в запросе.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Аспекты устройства паука.
От: Nikolay_Ch Россия  
Дата: 07.09.06 04:52
Оценка:
N_C>>Дело в том, что когда мы реализовывали клиентов HTTP — то столкнулись именно с этой проблемой.
S>Скорее всего, WebRequest уже достаточно умен, чтобы автоматически вычислить HOST из запрошенного урла и передать его в запросе.
Вероятно — т.к. мы делали на чистых сокетах. И сервер упорно игнорировал запросы, пока не добавили эти заголовки...
Re[11]: Аспекты устройства паука.
От: Nikolay_Ch Россия  
Дата: 08.09.06 04:49
Оценка:
N_C>>Вероятно — т.к. мы делали на чистых сокетах. И сервер упорно игнорировал запросы, пока не добавили эти заголовки...
S>И правильно делал. Откуда он знает, что на них отвечать?
Не... Ну если про заголовок версии я еще понимаю, но почему требовался заголовок HOST — я понять не могу...
Re[12]: Аспекты устройства паука.
От: Sinclair Россия https://github.com/evilguest/
Дата: 08.09.06 07:13
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>>>Вероятно — т.к. мы делали на чистых сокетах. И сервер упорно игнорировал запросы, пока не добавили эти заголовки...

S>>И правильно делал. Откуда он знает, что на них отвечать?
N_C>Не... Ну если про заголовок версии я еще понимаю, но почему требовался заголовок HOST — я понять не могу...
Гм. А если на одном IP висит несколько виртуальных сайтов, то чей контент он должен отдавать?
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[12]: Аспекты устройства паука.
От: akasoft Россия  
Дата: 08.09.06 09:07
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>Не... Ну если про заголовок версии я еще понимаю, но почему требовался заголовок HOST — я понять не могу...


Спецификацию посмотри — там всё написано. Виртуальный хостинг на этом держится.
... << RSDN@Home 1.2.0 alpha rev. 655>> SQLE 2005
Re[13]: Аспекты устройства паука.
От: Nikolay_Ch Россия  
Дата: 08.09.06 09:19
Оценка:
A>Спецификацию посмотри — там всё написано. Виртуальный хостинг на этом держится.
Каюсь... Невнимательно тогда читал... Хотя, видимо это не в базовой спецификации?
Re[14]: Аспекты устройства паука.
От: akasoft Россия  
Дата: 08.09.06 10:56
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>Хотя, видимо это не в базовой спецификации?


У меня перевод RFC 2068, разделы 5.1, 5.2, 14.23, 19.5.1. В Сети куча переводов на русский. Возможно, что сейчас ещё чего добавили в этот RFC.
... << RSDN@Home 1.2.0 alpha rev. 655>> SQL Express 2005
Re[15]: Аспекты устройства паука.
От: Nikolay_Ch Россия  
Дата: 08.09.06 11:28
Оценка:
A>У меня перевод RFC 2068, разделы 5.1, 5.2, 14.23, 19.5.1. В Сети куча переводов на русский. Возможно, что сейчас ещё чего добавили в этот RFC.
Сейчас вспомнил... Именно прочитав этот пункт (5.2) мы и дописали все эти заголовки. Просто было это давно...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.