Delphi - подключение и вход на веб-страницу - PullRequest
0 голосов
/ 10 марта 2011

РЕДАКТИРОВАТЬ Там было довольно развитие.Текущая проблема заключается в следующем:

Я сравнил запросы, отправленные из браузера и отправленные из моего приложения.Были некоторые различия, и мне удалось исправить большинство из них.Некоторые еще не исправлены, так как я еще не понял, как это сделать.Я использую INDY.

  • Как я могу отправлять (или добавлять) файлы cookie в запрос?
    Я пробовал это: IdHTTP.CookieManager.AddCookie('bakatheme=BrectanTheme',IdHTTP1.URL), но это не работает.Кроме того, в справке INDY говорят, что это должен быть AddCookie (String, String), но мой Delphi принимает только (String, TIdURI) - я не уверен, что это правильный URI, который я вызываю.

  • В заголовках у меня есть этот код: AcceptEncoding:='gzip,deflate,sdch'; все же, когда я анализирую исходящий запрос, он гласит: AcceptEncoding:gzip,deflate,sdch,identity, но я уверен, что в коде нет ни одной "идентичности".

Это две вещи, в которых мой запрос отличается от запроса браузера.Теперь я получаю 500 Внутренняя ошибка сервера при возврате, это может быть вызвано отсутствием файлов cookie или второй причиной?

Большое спасибо.

Ответы [ 2 ]

1 голос
/ 18 марта 2011

Сам точно не пробовал, но вот пример, который я нашел для входа на сайт с помощью indy http://www.ciuly.com/delphi/indy/persistent-login-example-for-geocacheing-no-ssl/

0 голосов
/ 18 марта 2011

Хорошо.Давайте прокомментируем:

Как я могу отправить (или добавить) файлы cookie в запрос?

Ты не должен этого делать.Indy обрабатывает это для вас (но если вы действительно хотите, есть TidCookieManager).Но мне кажется, что вы не знаете, как работают куки.Это не то, что вы можете добавить к запросу.Он приходит с сервера и идентифицирует вас.

В заголовках у меня есть этот код: AcceptEncoding: = 'gzip, deflate, sdch';

AcceptEnconding сообщает серверу, что он может сжать ответ, используя эти алгоритмы.Indy поддерживает gzip,deflate,sdch,identity, а indy обновляет запрос заголовка очереди, чтобы добавить тот, который вы забыли поставить.

Вам следует взглянуть на эти ссылки, чтобы узнать, как работает http:

W3
Википедия

...