HTTP POST, перенаправление с ASP .Net на JSP / ColdFusion, какой путь лучше всего подходит на стороне сервера или на стороне клиента? - PullRequest
0 голосов
/ 25 января 2010

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

лучше использовать тег формы ... тип ввода скрытые поля, значения ... и из JavaScript

form.submit ();

или

HttpWebRequest myRequest =
        (HttpWebRequest)WebRequest.Create("http://...");

        myRequest.CookieContainer = new System.Net.CookieContainer(10000);
        myRequest.Method = "POST";
        myRequest.ContentType = "application/x-www-form-urlencoded";
        myRequest.ContentLength = data.Length;
        Stream newStream = myRequest.GetRequestStream();

        newStream.Write(data, 0, data.Length);
        newStream.Close();
        return myRequest;

или

Мне следует использовать класс WebClient?

Пожалуйста, укажите также точки с точки зрения безопасности.

1 Ответ

1 голос
/ 25 января 2010

Если вы хотите, чтобы браузер корректно отправлялся на другой сервер, тогда вам действительно нужно сделать это на стороне клиента - ваш второй вариант отправит ответ от удаленного сервера обратно клиенту, но любые ссылки в HTML, которые относительные будут отображаться неработающими, так как пользователь будет пытаться запросить их с вашего сервера.

Кроме того, выполняя запрос от выделенного кода, вы будете отправлять запрос с вашего сервера без каких-либо файлов cookie, заголовков и т. Д. Клиента для этого сайта (к которому у вас не будет доступа).

Другие вопросы для рассмотрения:

  1. Клиент может отключить JavaScript.
  2. Если удаленный сервер поддерживает SSL, то, вероятно, вы должны публиковать сообщения на нем.
  3. При выполнении этой клиентской части вы сначала отправите все данные формы клиенту, а затем отправите их на сторонний сервер.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...