Your problem
scenario is, that same source (single one to be reliable) was blocking automatic traffic recently by using cookies`
Well, if that is your problem (cookies) Why dont you try this web-client?
public class CookieWebClient : WebClient
{
private readonly CookieContainer _cookies = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
HttpWebRequest webRequest = request as HttpWebRequest;
if (webRequest != null)
{
webRequest.CookieContainer = _cookies;
}
return request;
}
}
WebBrowser vs WebBrowserBase
As for the difference between WebBrowser and WebBrowserBase, WebBrowser inherits WebBrowserBase to extend it and make it into a full functional web-browser. Where WebBrowserBase comes in handy is if you would like to customize the WebBrowser beyond what is supported - you can override things and use WebBrowserBase to extend functionality and such. As a rule, unless you absolutely must, you should stick to just using the plain WebBrowser control - and only if you are rendering web pages or would like to use it to hackishly execute javascript.
Comment about extending WebBrowser in general
One of the most useful modifications I've found personally for the webbrowser was exposing the download flags, so you can control whether the webbrowser downloads images etc. A great example of how to do this is here: https://stackoverflow.com/a/7738174/184746