<p>I have a project at work the requires me to be able to enter information into a web page, read the next page I get redirected to and then take further action.  A simplified real-world example would be something like going to google.com, entering "Coding tricks" as search criteria, and reading the resulting page.</p>

<p>Small coding examples like the ones linked to at <a href="http://www.csharp-station.com/HowTo/HttpWebFetch.aspx" rel="nofollow noreferrer">http://www.csharp-station.com/HowTo/HttpWebFetch.aspx</a> tell how to read a web page, but not how to interact with it by submitting information into a form and continuing on to the next page.</p>

<p>For the record, I'm not building a malicious and/or spam related product.</p>

<p>So how do I go read web pages that require a few steps of normal browsing to reach first?</p>

What you need to do is keep retrieving and analyzing the html source for each page in the chain.  For each page, you need to figure out what the form submission will look like and send a request that will match that to get the next page in the chain.
What I do is build a custom class the wraps System.Net.HttpWebRequest/HttpWebResponse, so retrieving pages is as simple as using System.Net.WebClient.  However, my custom class also keeps the same cookie container across requests and makes it a little easier to send post data, customize the user agent, etc.