Во-первых, очевидный вопрос: прежде чем отключить скрипт в своем браузере и попытаться войти в систему, вы сначала очистили свои файлы cookie? Если нет, очистите файлы cookie и повторите попытку.
Предполагая, что вы сначала очистили файлы cookie и все еще получили 5 новых файлов cookie после входа в систему без сценария, а затем просмотрев отсутствующие имена файлов cookie, я бы предположил, что ваш CookieAwareClient фактически не выполняет вход в систему пользователя. Отсутствие cookie «username» - это то, что я ожидал бы, если логин не удался. Когда вы просматриваете HTML-код, возвращаемый вашим логином, выглядит ли он как успешный логин? Или он возвращает какую-то ошибку?
Если возвращенный HTML является успешным логином, то следующий возможный виновник, на который я бы посмотрел, будет дополнительным запросом, выполняемым браузером, но не выполненным кодом. Например, на странице входа может быть META REFRESH, который перенаправляется на другую страницу (которая устанавливает файл cookie). Или страница входа может содержать IFRAME
, IMG
, SCRIPT
и т. Д., Которые, в свою очередь, устанавливают файл cookie. Чтобы диагностировать это, используйте Fiddler, Firebug или другой подобный инструмент, чтобы узнать, какие конкретные HTTP-запросы выполняются вашим браузером как часть процесса входа в систему. Убедитесь, что POST на странице входа выполняет все настройки cookie, а если нет, то после первого входа вам нужно будет добавить дополнительные запросы к вашему коду.
Если окажется, что есть только один параметр HTTP-запроса, то проблема заключается в том, что это HTTP-заголовки или данные POST, которые ваш код отправляет (или не отправляет) на сервер. Возможно, браузер отправляет разные заголовки или данные POST. Диагностика этого также требует Firebug, Fiddler или аналогичного инструмента для сравнения HTTP-заголовков и POST-данных, которые браузер передает, и от того, что отправляет ваш код.
Если ни одно из этих предложений не работает, опубликуйте комментарий, и мы можем выполнить итерацию.