Using HttpWebRequest when the requested page does a Response.Redirect

  • Thread starter Thread starter APA
  • Start date Start date
A

APA

I'm having a problem saving cookies when the page I am requesting is doing a Response.Redirect. I am creating a WinForm app that will request page
from a site that is of course protected by login name and password. I have no problem logging in but the login page creates several cookies and
redirects to the member home page. During this redirect process the code doesn't stop so that I can collect the cookies for later responses (because
the cookies have user info in them that identify your later requests). Is there anyway to deal with pages that do response.redirect and get the
intermin page's response before the webrequest object goes on to the new page? I'm not using an asynchronous methods right now but was wondering if
that could be a solution. I don't know if the async method would be called when the redirect is sent. Any ideas would sure be appreciated.
 
I'm having a problem saving cookies when the page I am requesting is doing a Response.Redirect.  I am creating a WinForm app that will request page
from a site that is of course protected by login name and password.  I have no problem logging in but the login page creates several cookies and
redirects to the member home page.  During this redirect process the code doesn't stop so that I can collect the cookies for later responses (because
the cookies have user info in them that identify your later requests).  Is there anyway to deal with pages that do response.redirect and get the
intermin page's response before the webrequest object goes on to the new page?  I'm not using an asynchronous methods right now but was wondering if
that could be a solution.  I don't know if the async method would be called when the redirect is sent.  Any ideas would sure be appreciated.

Hi,

I am not sure if the WebRequest/WebResponse classes can be used for
our day-to-day "browsing" needs. Its only meant to send a request and
get a response. This is what I think. I have not previously been in a
scenario where I had to deal with cookies. Perhaps the response object
lets you to interact with the cookies somehow, I don't know. But since
you are using winforms why not try using the WebBrowser control for
your task.

--deostroll
 
APA said:
I'm having a problem saving cookies when the page I am requesting is doing
a Response.Redirect. I am creating a WinForm app that will request page
from a site that is of course protected by login name and password. I
have no problem logging in but the login page creates several cookies and
redirects to the member home page. During this redirect process the code
doesn't stop so that I can collect the cookies for later responses
(because the cookies have user info in them that identify your later
requests). Is there anyway to deal with pages that do response.redirect
and get the intermin page's response before the webrequest object goes on
to the new page? I'm not using an asynchronous methods right now but was
wondering if that could be a solution. I don't know if the async method
would be called when the redirect is sent. Any ideas would sure be
appreciated.

You cab use a CookieContainer to manage the cookies for your webrequest
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.cookiecontainer.aspx
http://msdn.microsoft.com/en-us/library/system.net.cookiecontainer.aspx

C# Example

CookieContainer cookies = new CookieContainer();
cookies.Add(new Cookie("foo", "bar", "/", "www.tempuri.com"));
client.CookieContainer = cookies;
 
Joris said:
You cab use a CookieContainer to manage the cookies for your webrequest
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.cookiecontainer.aspx

http://msdn.microsoft.com/en-us/library/system.net.cookiecontainer.aspx

C# Example

CookieContainer cookies = new CookieContainer();
cookies.Add(new Cookie("foo", "bar", "/", "www.tempuri.com"));
client.CookieContainer = cookies;


Yeah that works fine when there is no Response.Redirect from the server. When the the server sends a response.redirect the cookies don't get stored
in the local CookieCollection. The do however get passed to the page that the redirect is pointed to.
 
Joris said:
You cab use a CookieContainer to manage the cookies for your webrequest
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.cookiecontainer.aspx

http://msdn.microsoft.com/en-us/library/system.net.cookiecontainer.aspx

C# Example

CookieContainer cookies = new CookieContainer();
cookies.Add(new Cookie("foo", "bar", "/", "www.tempuri.com"));
client.CookieContainer = cookies;


Yeah that works fine when there is no Response.Redirect from the server. When the the server sends a response.redirect the cookies don't get stored
in the local CookieCollection. The do however get passed to the page that the redirect is pointed to.
 
Joris said:
You cab use a CookieContainer to manage the cookies for your webrequest
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.cookiecontainer.aspx

http://msdn.microsoft.com/en-us/library/system.net.cookiecontainer.aspx

C# Example

CookieContainer cookies = new CookieContainer();
cookies.Add(new Cookie("foo", "bar", "/", "www.tempuri.com"));
client.CookieContainer = cookies;


Yeah that works fine when there is no Response.Redirect from the server. When the the server sends a response.redirect the cookies don't get stored
in the local CookieCollection. The do however get passed to the page that the redirect is pointed to.
 
Back
Top