Так как заголовок предлагает, как выполнить HTTP POST на внешний веб-сайт, а также перенаправлять пользователя там? Я ищу что-то похожее на это:Как выполнить HTTP POST и перенаправить пользователя на внешний сайт?
Redirect("MyWebsite.com", HttpAction.POST, new RedirectData(new { item = "itemValue"}));
Это должно быть сделано в ASP.NET mvc.
EDIT
Такое поведение необходимо осуществить проверку подлинности на внешнем веб-сайте. Алгоритм аутентификации:
- Пользователь переходит на веб-страницу, требующую его идентификации.
- Веб-страница вызывает веб-службу веб-сайта аутентификации и инициализирует аутентификацию.
- Инициализация возвращает идентификатор GUID, который должен быть отправлен на указанный URL (скажем, это «MyWebsite.com»).
- Пользователь должен быть перенаправлен на URL-адрес, на который были отправлены данные.
До сих пор мне удалось придумать с этим:
string url = "MyWebsite.com";
NameValueCollection formData = new NameValueCollection();
formData["ticket"] = Ticket.ticket;
WebClient webClient = new WebClient();
byte[] responseBytes = webClient.UploadValues(url, "POST", formData);
Response.BinaryWrite(responseBytes);
Response.Redirect("MyWebsite.com", true);
Ответ Я получаю это HTML-сайта я должен быть перенаправлен и вопрос - что теперь? Как сообщить браузеру отображать HTML, который я получил через ответ? Если я просто перенаправляюсь на «MyWebSite.com», он выполнит действие GET, которое не то, что я ищу. Выполнение двоичной записи ответа ничего не выполняет - оно просто записывает ответ действия POST на действие, которое я выполняю в настоящее время, - нет перенаправления на «MyWebSite.com».
Вышеупомянутый код не работает для вас? какую ошибку вы получаете? –
Пожалуйста, объясните _why_ вам нужно это сделать. Вы не можете сделать это так, после перенаправления GET всегда выполняется. Однако вы можете создать форму на своем сайте и сделать ее POST на другом веб-сайте, если это позволит. – CodeCaster