куки с использованием Delphi 2010 и Indy - PullRequest
4 голосов
/ 01 февраля 2012

Я новичок в работе с cookie-файлами и не уверен, что мой код или, возможно, версия Indy - это проблема, основанная на исследовании других сообщений.

Использование Delphi 2010 и Indy 10.5.5.

Установили cookiemanager во время разработки.Я могу отправить первоначальный запрос на вход в систему (используя метод POST) на успешный сервер (получить код «успеха» из серверного приложения), и диспетчер файлов cookie показывает, что он принял файл cookie с сервера.

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

Как я могу проверить содержимое заголовка куки, который отправляется обратно на сервер?Кроме того, в другом посте я увидел, что Indy 10 IdCookieManager.pas и IdCookie.pas были обновлены в 2011 году. Должен ли я обновить свой Indy до последней версии, поскольку это может быть моей проблемой?

Заранее спасибо.


Вот еще немного информации:

Спасибо за вашу предыдущую помощь;Кажется, я все ближе к переустановке Indy10.

Я очистил свою систему от всех вещей Indy, кроме самой последней версии (10.5.8), которую я скачал вчера.[На самом деле я только что переместил старый материал в каталог с необычным именем.]

Теперь я получаю чистую компиляцию на всех 5 пакетах.

Мне удалось добавить два основных пакета (те, которые начинаются с dcl) в списке проектов моей программы.

Но я получаю «[DCC Fatal Error] E2202 Обязательный пакет IndyCore не найден».когда я пытаюсь скомпилировать основную программу.

Я пытался удалить и переустановить dcl-пакеты в свой проект.Когда я удалил их, я получил сообщение, что IndyCore и 3 других пакета также будут удалены - поэтому, похоже, известно, что dclIndyCode140 использует IndyCore140.

Я добавил несколько каталогов в свой путь поиска и попытался разместить5 б.п. в разных каталогах.Ничто из этого не имело никакого эффекта, и на данный момент я в тупике.

Идеи?Предложения?

Стив

1 Ответ

1 голос
/ 01 февраля 2012

Рекомендуется обновление до последней версии. Ссылки находятся на сайте Indy`s . Да, поддержка cookie была прервана в более ранних выпусках Indy 10, но теперь она снова работает.

Что касается вашего другого вопроса, чтобы посмотреть, что отправляет TIdHTTP, у вас есть несколько вариантов:

  1. Посмотрите на свойство TIdHTTP.Request.RawHeaders после отправки запроса.

  2. Присоедините один из TIdLog... компонентов Indy к TIdHTTP, например, TIdLogFile, и посмотрите на вывод.

  3. Используйте внешний анализатор пакетов, например Wireshark.

...