2009-03-11 2 views
2

Я пытаюсь передать данные POST на внешний URL-адрес с помощью HttpWebRequest, тогда мне нужно перенаправить пользователя на внешний url, где я только что отправил мои данные, это можно добиться на первом месте?перенаправление на POST HttpWebRequest

ответ

0

Если на стороне сервера что-то необходимо сделать, вы должны, вероятно, сделать это с JS на стороне клиента.

Просто отправьте форму программно с помощью JS, которая позаботится о проводке и перенаправлении.

3

Ну, перенаправление должно быть довольно стандартным - просто обычный ASP.NET redirect.

Повторное выполнение POST; это хорошо - но это было бы еще проще просто использовать WebClient:

using (WebClient client = new WebClient()) 
    { 
     client.UploadData(address, "POST", data); 
    } 

(другие методы и перегрузки для различных сценариев использования)

+0

благодарит вас за предложение WebClient, будет ли он выполнять перенаправление? –

+0

Вам придется попробовать, извините. Я не знаю, с головы до ног. –

+0

AllowAutoRedirect: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.allowautoredirect (VS.80).aspx –

0

Конечно, это вполне возможно.

В зависимости от данных, которые необходимо отправить, класс System.Net.WebClient может быть проще, чем HttpWebRequest. Он может загружать строки и файлы одним вызовом метода.

0

Самый простой способ сделать это было бы просто установить атрибут действия форме в:

<form method="post" action="url/to/post/data/to"> 
.... 
</form> 

Затем данные и пользователь будет отправлен на ваш URL без необходимости делать что-либо программным способом.

Смежные вопросы