![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
nmn |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 593 Регистрация: 26.11.2005 Репутация: нет Всего: 1 |
здравствуйте
при получении ответа от сервера 302 (редирект) необходимо ли снова отправлять post переменные на новый адрес указанный в Location? |
|||
|
||||
KelTron |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: нет Всего: 38 |
Нет, достаточно и GET-а.
-------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
|||
|
||||
Gleb |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 11.6.2005 Репутация: нет Всего: 1 |
Зависит от сервера.
Например сервер так настроен, что после получения вашего Post'а редиректит вас на другую страницу. Этим он избавляется от проблемы случайной повторной отправки даных по F5 или по каким-то другим своим соображениям. Или ресурс действительно переехал (или редиректит на домен с www). Например в ответ на Post-запрос на домен yandex.ru (data: text=hey&lr=56), я получаю 302 с "Location: http://www.yandex.ru/yandsearch?text=" и если я обращусь Get'ом по этому Location, то что мне выдастся? правильно, совсем не то, что я искал. |
|||
|
||||
KelTron |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: нет Всего: 38 |
Это можно явно указать в запросе: request.AllowAutoRedirect = false; -------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
|||
|
||||
Gleb |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 11.6.2005 Репутация: нет Всего: 1 |
Это вы к чему? Да, есть такой параметр у HttpWebRequest, но о нем ли мы говорим? Вообще вы явно не поняли сути вопроса. Поясню: - Клиент отправляет post-запрос на ресурс А - Сервер отвечает: 302 Found, Location=ресурс Б Вопрос: дошли ли данные в post-запросе хоть кому-нибудь? Или заново делать Post ресурсу Б? Эксперименты показали, что, как я уже говорил выше, возможны две ситуации: 1. На ресурсе А запрос дошел до серверного кода, был обработан (данные сохранились в БД к примеру) и послан ответ 302 чтобы пользователь случайно не отправил данные еще раз. 2. На ресурсе А запрос до обработки кодом не дошел, а был обработан например модулем IIS и отредирекчен на ресурс Б. В первом варианте ничего делать не надо, если вы используете HttpWebRequest, то по умолчанию (AllowAutoRedirect = true) в потоке ответа будет ресурс Б. Во втором случае вам нужно заново отправить Post на ресурс Б. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |