WebRequest следует за перенаправлением

У меня есть страница (url a), которая программно отправляет форму с помощью WebRequest.
Страница, которая принимает запрос формы, выполняет кучу действий, а затем перенаправляет на другую страницу (url b).

Возможно ли вообще выполнить веб-запрос (который читает, обрабатывает и перенаправляет запрос формы), который затем перенаправляет текущую страницу (url a) в конечное местоположение веб-запроса (url b).

в настоящее время у меня есть;

  HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(url + postVars);  
  myRequest.AllowAutoRedirect = true;

  HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();  
  myRequest.AllowAutoRedirect = true;

  // Read response stream
  StreamReader myStream = new StreamReader(myResponse.GetResponseStream());  
  string response = myStream.ReadToEnd();  
  myResponse.Close();

Все это работает нормально, и все происходит так, как ожидалось, за исключением того, что после myResponse.Close() я все еще нахожусь на URL-адресе a, а не на URL-адресе b, т.е. страница, с которой был сделан запрос, по-прежнему является активной страницей.

Любые идеи о том, где я ошибаюсь? Или есть лучшие идеи?

Мне нужно уметь.

  • Открыть страницу а
  • отправить форму программно в модуль b (другая страница)
  • Быть перенаправленным на страницу c (которая основана на перенаправлении из модуля b)

Имеет ли это смысл?
Заранее спасибо.


person dan richardson    schedule 24.11.2011    source источник
comment
AllowAutoRedirect по умолчанию равно true, в вашем примере это ничего не добавляет. И что вы имеете в виду, говоря, что я все еще на URL A, а не на URL B?   -  person BrokenGlass    schedule 24.11.2011


Ответы (1)


Я думаю, вы не понимаете, как работает переадресация: вы отправляете запрос на URL A, но в конечном итоге можете получить ответ от URL. B, если вы будете перенаправлены туда (и для параметра AllowAutoRedirect установлено значение true).

Клиент/запрашивающая сторона не перенаправляется ни в какой форме, а только откуда приходит ответ на запрос клиента. Так что ваша «активная страница», конечно же, никогда не изменится.

person BrokenGlass    schedule 24.11.2011
comment
Да, вопрос был больше в том, будет ли перенаправление с веб-запроса распространяться на вызывающую страницу, что, судя по всему, не будет. благодаря. - person dan richardson; 25.11.2011