c# winform啟動瀏覽器,實現自動登入

來源:互聯網
上載者:User

標籤:

首先,申明兩個API

        /// <summary>        /// 設定 cookie        /// </summary>        /// <param name="lpszUrlName"></param>        /// <param name="lbszCookieName"></param>        /// <param name="lpszCookieData"></param>        /// <returns></returns>        [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]        public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);        /// <summary>        /// 擷取cookie        /// </summary>        /// <param name="url"></param>        /// <param name="name"></param>        /// <param name="data"></param>        /// <param name="dataSize"></param>        /// <returns></returns>        [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]        public static extern bool InternetGetCookie(string url, string name, StringBuilder data, ref int dataSize);

不用過多的解釋,一個讀,一個寫

如果實現過 httprequest , 那麼手頭一定已經有了cookie了。

此時可以直接使用了

        private void OpenWeb()        {            //開啟瀏覽器查看            //產生新的            foreach (System.Net.Cookie i in cookie.GetCookies(new Uri("主機的cookie地址,比如http://192.168.9.200")))            {                var b = InternetSetCookie("http://" + i.Domain, null, i.Name + "=" + i.Value + ";path=" + i.Path + ";expires=" + DateTime.Now.AddMinutes(10).GetDateTimeFormats(‘r‘)[0].ToString() + ";");//這裡一定要用r格式,否則不識別            }            //啟動瀏覽器            System.Diagnostics.Process.Start("iexplore.exe", "要開啟的url");        }

 此種方法實用於類比登入後實現自動登入,特別是網站伺服器不屬於項目開發範圍內的,如果是在開發範圍內的,建議使用類似QQ空間的登入方式,直接向伺服器提交地址,在地址後附帶校正身份的參數,伺服器直接允許登入。

此種方法,對於cookie有效,對於session未測試。

c# winform啟動瀏覽器,實現自動登入

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.