c# WebRequest using WebBrowser cookie

前端 未结 3 1145
失恋的感觉
失恋的感觉 2020-12-03 12:17

I am logging into a site using a WebBrowser, then i want use regex to get some data , but webRequest didnt use web Browse cookie ,

my webBrowser is in public , is

相关标签:
3条回答
  • 2020-12-03 12:29
        public CookieContainer GetCookieContainer()
        {
            CookieContainer container = new CookieContainer();
    
            foreach (string cookie in webBrowser1.Document.Cookie.Split(';'))
            {
                string name = cookie.Split('=')[0];
                string value = cookie.Substring(name.Length + 1);
                string path = "/";
                string domain = ".google.com"; //change to your domain name
                container.Add(new Cookie(name.Trim(), value.Trim(), path, domain));
            }
    
            return container;
        }
    

    This will work on most sites, however sites that use subdomains might be a problem.

    0 讨论(0)
  • 2020-12-03 12:40

    You can use a CookieContainer for a Webrequest.

     web_cookies = new CookieContainer();
     // Create a 'WebRequest' object with the specified url.                 
     HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create(url);
    
     myWebRequest.CookieContainer = web_cookies;
    

    Hope this helps.

    Ok, you want to do a log in. Thats is different story. You can use NetworkCredential for that.

    public string get_secure_webpage(string url, string username, string password)
        {
            WebRequest myWebRequest = WebRequest.Create(url);
            NetworkCredential networkCredential = new NetworkCredential(username, password);
            myWebRequest.Credentials = networkCredential;
    

    ...

    0 讨论(0)
  • 2020-12-03 12:50

    is this silverlight? if so, since silverlight 3 if you use the browser network stack than you should get cookies for free. By default you get the browser stack when you create n HttpWebrequest using the WebRequest.Create() method. note if you use CreateHTTP method, you get a client stack, which does not include browser cookies by default (you have to do trickery to get them, as described previously)

    see http://msdn.microsoft.com/en-us/library/dd920295(VS.95).aspx about the network stacks in silverlight since version 3

    0 讨论(0)
提交回复
热议问题