C# – Create a SSL WebRequest with C#

chttpshttpwebrequestwebbrowser-control

I'm making a code that reads the a page and downloads it contents programmatically, but it does not work same way as a browser.
Note that I'm also using cookies string.

my code is:

string strUrl = "http:" + "//mgac.webex." + "com";
string cookies_str = "vSeg=post_attendee; s_nr=1321305381566-New; s_lv=1321305381566; s_vnum=1322686800567%26vn%3D1; galaxyb_wl=R2355168776; JSESSIONID=Qlq1TR7Hf09KTsGHr4vv2GnTFF0NGRlLmGyYmMvzY5M29pbZ8yNp!31020270; DetectionBrowserStatus=3|1|32|1|4|2; CK_LanguageID_503319=1; CK_TimeZone_503319=4; CK_RegionID_503319=2; vSeg=post_attendee; s_nr=1321305381566-New; s_lv=1321305381566; s_vnum=1322686800567%26vn%3D1; galaxyb_wl=R2355168776; JSESSIONID=Qlq1TR7Hf09KTsGHr4vv2GnTFF0NGRlLmGyYmMvzY5M29pbZ8yNp!31020270;";
string other_saved_cookies = "screenWidth=1280; CK_CDNHostStatus=akamaicdn.webex.com|1322367753273|1";

string s;
using (WebClient client = new WebClient())
{
    client.UseDefaultCredentials = true;
    client.Headers.Add(HttpRequestHeader.Cookie, cookies_str);
    s = client.DownloadString(strUrl);
}

I get this answer:
"The Page Cannot be found…"

when I scan the Request with Fiddler, my browser recieves the same answer, after that he makes a new request to using SSL to same host.

How can I make exactly same request to receive content like a browser

Where is the information that tells client: "a SSL connection is required" ?

Best Answer

This looks like what you're after How to use HTTP GET request in C# with SSL? (protocol violation)

But changing "http" to "https" might be a good starting point!
Then, apparently, setting a ServicePointManager.ServerCertificateValidationCallback as shown in 2 of the replies to the above post.

EDIT

Add

string ua = "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0";

then

client.Headers.Add(HttpRequestHeader.UserAgent, ua);

Then parse the Location header of the redirected result.