Перенаправить на другой сайт, используя метод POST с параметрами в Stripes - PullRequest
1 голос
/ 11 августа 2011

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

http://localhost:8080/MySiteName/<Address of the other site>

Я прочитал эту ссылку , но как добавить параметры в адрес?Я хочу отправить переменные в методе POST на этот сайт.Можно ли использовать бин экшн в Stripes?

Ответы [ 2 ]

5 голосов
/ 11 августа 2011

На самом деле вы не можете использовать ForwardResolution для перехода на другой сайт. Форвард - это внутренняя концепция в контейнере сервлетов. То, что вы можете сделать, это RedirectResolution, и вы можете использовать это для отправки обычного запроса GET на другой сайт, включая параметры запроса.

http://example.com/action?search=thing

Но это будет ПОЛУЧЕНИЕ, а не ПОЧТА.

Перенаправление работает, поскольку отправляет URL-адрес в браузер, а затем браузер повторно отправляет его на конечный сайт.

Единственный способ отправить POST - это отправить заполненную HTML-форму в браузер с параметром action, указывающим на новый сайт и method = "POST", а затем использовать немного Javascript для автоматической отправки формы как только страница загружена. Для небольшой формы, заполненной скрытыми полями, это довольно быстро, большинство пользователей даже не увидят, что это происходит, но для этого требуется, чтобы в их браузере был включен javascript.

1 голос
/ 11 августа 2011

Технологии разные, но ответ на этот предыдущий вопрос содержит хорошее описание всего обмена HTTP. Одна из стратегий, упомянутых в этом ответе, заключается в том, что вы должны сделать пост на стороннем сайте за кулисами, а затем перенаправить в соответствующее место. Это можно сделать с помощью HttpClient или HttpURLConnection вместо .NET HttpWebRequest.

...