Что делает Indy's HandleRedirect? - PullRequest
1 голос
/ 27 мая 2010

У меня проблемы с чтением файлов с Indy с сайта, на котором установлен WordPress.

Похоже, что сайт настроен на перенаправление всех посещений на sitename / com / wordpress.

Могу ли я использовать HandleRedirect, чтобы отключить эту функцию, чтобы я мог читать файлы из корневой папки?

Какая нормальная настройка для этого свойства? Есть ли недостатки в использовании его для этой цели?

(Редактировать: похоже, что моя проблема может быть вызвана кэшированием Windows файла, к которому я раньше обращался через Indy. Я использую fIDHTTP.Request.CacheControl: = 'no-cache'; это достаточно? 1009 *

1 Ответ

2 голосов
/ 27 мая 2010

Когда сервер отправляет результат 3xx для запроса, свойство HandleRedirects контролирует, будет ли Indy немедленно поворачиваться и выдавать новый запрос, используя новое местоположение. Альтернативой является то, что Indy вернет код ответа в вашу программу. Вы можете обрабатывать его самостоятельно с помощью события OnRedirect, но если сервер не хочет отправлять что-либо в дополнение к коду ответа, это вряд ли будет полезным для вашей программы. Это не значит, что перенаправление не позволяет вам загружать файлы. Установите для свойства true и позвольте Indy позаботиться о перенаправлении для вас.

Вероятно, дело не в том, что Windows что-то кеширует для вашей программы. Indy не использует кеш ОС. Заголовок Cache-Control - это инструкция для прокси-сервера или так называемого исходного сервера , что он не должен удовлетворять ваш запрос с использованием кэшированного ответа без проверки его с помощью исходного сервера. Может быть, WordPress имеет свой собственный кеш, который вы пропускаете.

...