模擬Http登錄

<pre name="code" class="csharp">   class Program
    {
        private static CookieContainer m_Cookie = new CookieContainer();
        static void Main(string[] args)
        {
            try
            {                
                string url = "http://127.0.0.1:8001/Account/Login";//網址
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.UserAgent = @"MISE";
                request.CookieContainer = m_Cookie;
                request.Timeout = 30000;
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream receiveStream = response.GetResponseStream();
                StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
                //獲取要登錄的頁面內容 
                var strResult = readStream.ReadToEnd().ToString();
                if (request.HaveResponse)
                {
                    //要提交的數據
                    var startIndex = strResult.IndexOf(@"hidden") + 15;
                    string token = strResult.Substring(startIndex, 108);
                    var session = response.Cookies;// request.CookieContainer;
                    string s = "UserName=18600000000&Password=000000&__RequestVerificationToken=" + token;//要提交的數據;

                    byte[] requestBytes = System.Text.Encoding.UTF8.GetBytes(s);
                    HttpWebRequest request22 = (HttpWebRequest)WebRequest.Create(url);
                    request22.Method = "POST";
                    request22.UserAgent = @"MISE";
                    request22.ContentType = "application/x-www-form-urlencoded";
                    request22.CookieContainer = m_Cookie;
                    request22.ContentLength = requestBytes.Length;

                    Stream requestStream = request22.GetRequestStream();
                    requestStream.Write(requestBytes, 0, requestBytes.Length);
                    requestStream.Flush();
                    requestStream.Close();

                    System.Threading.Thread.Sleep(1000);

                    HttpWebResponse res = (HttpWebResponse)request22.GetResponse();
                    StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8);
                    string backstr = sr.ReadToEnd();
                    Console.WriteLine(backstr);
                    sr.Close();
                    res.Close();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章