urs351.gif (8656 bytes)

Секреты скачивания файлов.

 От UZ8RR.
 Думаю, что данная информация будет полезна для тех ОМ-ов, кто качает кое-что из паутины. 
 Время диктует свои условия, что каждый радиолюбитель все таки должен стать вебдизайнером, чтобы без проблем
сделать свою, хотя бы и простенькую,  веб страничку. А это не так сложно. 
Пройдитесь по InternetSoft линкам. Очень рекомендую. Нового для себя откроете МНОГО.
Пользуйтесь на здоровьячко. 73! Влад

::

Секреты скачивания файлов.

Рано или поздно каждый пользователь Интернета сталкивается с необходимостью скачать файл. Это может быть программа, документ, картинка или фильм - да мало ли что еще. И очень обидно бывает, когда с таким трудом найденный файл почему-то отказывается скачиваться или оказывается испорченным. Сегодня мы попробуем поговорить о процессе скачивания, программах, которые могут пригодиться, и методах достижения желаемого результата, несмотря на противодействие серверов...

Для начала попробуем классифицировать ошибки. Чаще всего встречается знаменитая ошибка 404 - "файл не найден". Означает она, как обычно и написано, что файл был перемещен в другое место или удален. Стандартных методов борьбы с такой ошибкой два: либо поискать копию нужного файла (он вполне может "жить" на каком-то другом сервере), либо попробовать пройти по адресу в обратном направлении. Например, если ошибочный адрес выглядит как http://www.somesite.com/docs/projects/files/needed_file_1.zip, то имеет смысл поробовать открыть в браузере адрес http://www.somesite.com/docs/projects/files/, если не получится, то http://www.somesite.com/docs/projects/, затем http://www.somesite.com/docs/ и т.д. Если файл был переименован (например, вышла новая версия программы), то с большой долей вероятности в одной из этих директорий найдется либо сам файл (если на сервере не запрещен показ списка файлов), либо страница, на которой о нем будет сказано. Этот же метод работает и для FTP-серверов - страница там вряд ли найдется, а вот файл - вполне.

Следующая ошибка - это всевозможные 5хх коды, которые говорят о том, что на сервере произошла ошибка при выполнении запроса. Тут особо ничего не поделаешь, можно либо подождать, пока сервер починится, либо поискать другие зеркала.

Встречаются еще и ошибки, связанные с перегрузкой сервера (обычно это относится к FTP-серверам). Как правило, владельцы таких серверов устанавливают ограничение на число одновременных соединений, и, если сервер популярен, вероятность того, что вы окажетесь "лишним", довольно высока. В этом случае имеет смысл попробовать повторить попытку скачивания несколько раз подряд: есть достаточно высокий шанс, что у кого-то скачивание закончится, и вы получите доступ. Очень удобно для этого использовать какой-нибудь download manager - эти программы умеют автоматически распознавать такую (и многие другие) ошибку и повторять запросы на скачивание файла.

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

Практически все эти "неудобства" возникают, как и большинство остальных вещей в этом мире, из-за денег. Владельцам сайтов приходится платить за трафик, и для того чтобы вы могли бесплатно скачивать файлы из Интернета, эти деньги приходится как-то добывать. Одним из наиболее распространенных способов добычи денег является реклама. Поэтому вполне естественно, что владельцы сайтов придумывают разные способы, чтобы эту рекламу вам показать. Но рекламодатели сейчас пошли умные и редко платят просто за число показов: они требуют, чтобы смотрели страницу не менее какого-то количества времени (скажем, 30 секунд), или оплачивают переходы по рекламным ссылкам, или же отдают владельцу сайта какой-то процент от заказов, сделанных посетителем, пришедшим с этого сайта.

  Есть и еще одна причина - выше я писал про ограничения на количество соединений и размер трафика. И чем больше "чужих" ссылок на скачивание файлов стоит, тем с большими трудностями сталкиваются посетители сайта, пытаясь скачать файл. А все шишки при этом сыпятся на голову веб-мастера... Недаром среди, так сказать, профессиональных веб-мастеров подобное поведение называется "воровством трафика" и считается плохим тоном. В то же время указание ссылок на страницы сайта вполне приветствуется.

Теперь рассмотрим, как все это выглядит на практике. Предположим, что у себя на сайте я положил файл по адресу http://www.listsoft.ru/price_html.zip Так как за трафик мне приходится платить, то у меня возникает вполне естественное желание сделать так, чтобы файл могли скачать только посетители моего сайта (денег они мне, конечно, не приносят, но, во-первых, видят рекламу, во вторых, поднимают посещаемость сайта, в третьих - вдруг им понравится и они начнут регулярно ходить). А убедиться в том, что это "мой" посетитель, я могу, например, проверив referrer (специальное поле в запросе к серверу, в котором указывается, с какой страницы пришел посетитель). Можно придумать и еще какие-нибудь методы определения того, что пользователю разрешено скачивать файл - например, при посещении сайта записывать в cookie время посещения, а при попытке скачать файл - это значение читать. Если на сайте установлены подобные правила, то сложности у вас могут возникнуть, например, если вы установили какой-то брандмауэр, блокирующий реферреры и cookies, или же запретили их передачу в настройках браузера.

В том случае, если я договорился о сотрудничестве с рекламодателем, который платитВ том случае, если я договорился о сотрудничестве с рекламодателем, который платит за переходы, или же если я получаю процент с продаж, то мне хочется сделать так, чтобы посетители рекламу не просто "пролистнули", а прочитали более внимательно. Добиться этого можно, введя специальные задержки перед началом скачивания файла (примерно так же, как люди, сидя в приемной, смотрят какие-то разложенные журналы, мимо которых просто прошли бы в другом случае). Достигаются такие задержки чаще всего вставкой специального мета-тега в заголовок страницы, который вызывает перенаправление этой страницы на адрес файла через заданное время. Здесь проблемы могут возникнуть в том случае, если какая-то программа или настройки браузера запрещают META REFRESH (в частности, это происходит, если в Internet Explorer установить высокий уровень безопасности).

Иногда (правда, очень редко) при щелчке на ссылке открывается какая-то рекламно-информационная страница, открывающая в конце своей загрузки новое окно, которое, в свою очередь, запускает скачивание. Такая схема может дать сбой, если у вас стоят программы, блокирующие открытие новых окон (или установлены соответствующие настройки).

Требование регистрации перед скачиванием - еще один способ окупить трафик. Дело в том, что реклама в рассылке, как правило, более эффективна, чем ее показ на сайте, тем более, что рассылка делается по интересующей вас тематике (а если тематика сайта вас не интересует, то зачем вы с него файлы скачиваете?) Для "страховки" от ввода неправильного адреса иногда применяется следующий метод: требуемый файл архивируется с паролем, а пароль отсылается на введенный вами адрес. Так что, если вы указываете что-то вроде [email protected], то рискуете остаться с бесполезным файлом.

Все вышесказанное относится, так сказать, к штатным ситуациям. Но порой встречаются и значительно более неприятные вещи...

  Многие сталкивались с ситуацией: скачиваете вы программу с сервера, а при запуске Windows говорит, что, мол, это вовсе даже и не программа. Или архиватор сообщает, что файл поврежден... Чаще всего это вызвано тем, что при загрузке файла на сервер по FTP протоколу автор забыл переключиться в двоичный режим. Впрочем, тут возможны и другие варианты - например, вы стали скачивать файл как раз в тот момент, когда он закачивался на сервер автором, или же произошел какой-то сбой "по дороге"... В случае возникновения подобной ошибки лучшим решением будет повторное скачивание файла и письмо автору (или веб-мастеру), если ошибка повторится.

Другая сложность может быть связана с неправильной настройкой сервера, с которого вы скачиваете файл. Дело в том, что при "разговоре" браузера с сервером передается различная служебная информация о том файле, который вы собираетесь скачать. В частности, передаются его имя, размер и тип (mime-type). Вот в этом-то "типе" и кроется сложность. По умолчанию веб-сервер считает, что все файлы неизвестного ему типа являются какими-то странными веб-страницами. И если в настройках сервера не прописано, например, расширение .exe (или, что бывает намного чаще - .rar), то сервер сообщает браузеру mime-type: text/html вместо требуемого application/octet-stream. Современные браузеры достаточно "умны" и догадаются, что .exe - это все-таки программа, но вот если расширение им незнакомо, то они честно начнут показывать файл в браузере... Что еще менее приятно - если сервер настроен на перекодирование страницы в зависимости от поддерживаемых браузером языков, и кодировки по умолчанию сервера и браузера не совпадают, то этот файл будет еще и перекодирован, в результате чего вы уже ничего с ним сделать не сможете... Для того чтобы посмотреть, о чем именно разговаривают браузер и сервер, можно воспользоваться такими программами, как HTTPLook или Web Activity Monitor.

Стоит отметить, что в большинстве случаев (при возникновении как стандартных, так и нестандартных ошибок) использование менеджеров закачки (например, ReGet) избавит вас от головной боли. Эти полезные программы умеют распознавать все стандартные сообщения серверов, и если ситуация небезнадежна, то они автоматически выполнят все необходимые действия. Кроме того, значительная часть времени разработчиков тратится именно на то, чтобы предусмотреть всевозможные неправильные настройки сервера и странные ситуации и все-таки понять, что подразумевалось. Про то, что менеджеры закачки поддерживают докачку файла в случае обрыва связи, я не говорю - это само собой разумеется...

Особенно удобно пользоваться менеджерами закачки, если их настроить на автоматический перехват ссылок на скачивание в браузере - при этом вам не надо будет задумываться о тонкостях и хитростях - все будет происходить автоматически. Кроме того, в настройках стоит указать, чтобы менеджер закачки "маскировался" под браузер, генерировал referrer из адреса файла и принимал cookies - все по тому же желанию веб-мастеров показывать вам рекламу некоторые сайты отказываются отдавать файлы, если видят, что их качает робот...

Программы в каталоге Softkey.ru:

Ссылки по теме:

Автор статьи: Дмитрий Турецкий

(От UZ8RR) Подробную статью смотрите на: http://www.softkey.info/reviews/review.php?ID=311

- InternetSoft  from Yandex-

UZ8RR Updated: