Мне нравится ikiwiki, потому что он может сохранить страницы Wiki в реальной системе управления исходным кодом (я использую Мерзавца). Это означает, что я могу отредактировать свою Wiki офлайн и объединить страницы, позже использующие все стандартные функции Git.
Ikiwiki также поддерживает Скидку с цены по умолчанию, которая является хорошим легким языком разметки.
Перенаправление обычно производится через коды состояния ответа HTTP 301 (Перемещенный Постоянно) или 302 (Найденный / Перемещенный Временно). Тот 301 и 302 кода состояния ответа HTTP, используемые для выполнения перенаправления, включены в HTTP-заголовки.
Просто, потому что Вы "не видели, что любое перенаправление в Firefox" не означает, что перенаправление не происходило: это было, негласно.
Существует другой способ перенаправить, с помощью JavaScript на странице. С JavaScript перенаправление может делаться ясным пользователю, где им можно показать страницу сначала и затем перенаправляться (возможно, после задержки) к другому местоположению. Но, это не перенаправления HTTP, которые перемещаются на основании кодов состояния ответа HTTP-заголовка.
Рассматривать Ваш вопрос о Ruby: необходимо задать тот вопрос на Переполнении стека. Но, короче говоря да, необходимо смочь установить 301 и 302 кода ответа перенаправления с любой веб-технологией серверной стороны.
Если требуется узнать больше, как HTTP работает, то я рекомендую следующую книгу: HTTP: Полное руководство David Gourley & Brian Totty. Можно также консультироваться с официальным стандартом HTTP, как определено RFC 2616: Протокол передачи гипертекста - HTTP/1.1.
Относительно того, почему серия запросов выше в Вашем вопросе делает 11 шагов, необходимо было бы спросить исходных авторов рассматриваемого программного обеспечения. Это, вероятно, возможно, было реализовано с меньшим количеством шагов, но вероятно не только 1 шагом. Рассмотрите, по крайней мере одно из перенаправлений необходимо серверу для установки cookie в браузере пользователя перед пересылкой их к защищенному ресурсу.
Так как Вы пытаетесь копировать пользовательский основанный на cookie механизм аутентификации, я также предлагаю, чтобы Вы сфокусировали свои исследования, как такие системы обычно создаются.
При попытке написать сценарий страницы входа в систему, необходимо удостовериться, что СООБЩЕНИЯ программы к серверу соответствует реальному запросу во всех отношениях, включая тот параметр, который Вы в настоящее время не включительно
Кроме того, необходимо удостовериться, что код принимает и передает обратно любые cookie, отправленные сервером. Сохранение cookie, отправленных сервером, является частой ошибкой с этим видом осуществления. Кроме того, необходимо сообщить любой библиотеке, которой Вы пользуетесь для Связей HTTP для следования за перенаправлениями. Некоторые из них не следуют за перенаправлениями по умолчанию.
И наконец - для отладки получите и запрос и заголовки ответа и тело, от веб-страницы, и из программы, и сравните их. С подозрением относитесь к любым различиям.
only on http headers and cookies level
. Таким образом, если нет взаимодействия с пользователем, это должно быть возможно кscript
эта коммуникация, правильно? Есть ли что-нибудь, что можно рекомендовать? Сделать? Читать? Без разницы? Я все еще не понимаю понятия 11 строк или коммуникации. – Radek 1 February 2010 в 22:13