如题?

解决方案 »

  1.   

    自动登陆aspx网站的winform程序
      

  2.   

    http://blog.csdn.net/jinjazz/archive/2007/12/28/1996163.aspx
      

  3.   

    大鸟呀,这个不行哦.我说的是用httpwebrequest 
      

  4.   

     private void button2_Click(object sender, EventArgs e)
            {            html = Http.GetHtml("http://www.xsxsxsxs.ccc", out aspcookie);
               aspcookie = aspcookie.Split(';')[0];
                            string postData =
                    "qitopic_mingchen=%C4%E4%C3%FB%C8%CB%CA%BF&password="+url[3]+"&edit=bbbbbbbbb";
                string header;
                string returnHtml = Http.GetHtml("http://www.xsxsxsxs.ccc", postData, aspcookie, out header); //login
                richTextBox1.AppendText(returnHtml);
               
            }
      

  5.   

    class Http
        {
            public static string GetHtml(string URL)
            {
                WebRequest wrt;
                wrt = WebRequest.Create(URL);
                wrt.Credentials = CredentialCache.DefaultCredentials;
                WebResponse wrp;
                wrp = wrt.GetResponse();
                return new StreamReader(wrp.GetResponseStream(), Encoding.UTF8).ReadToEnd();
            }
            public static string GetHtml(string URL, out string cookie)
            {
                WebRequest wrt;
                wrt = WebRequest.Create(URL);
                wrt.Credentials = CredentialCache.DefaultCredentials;
                WebResponse wrp;            wrp = wrt.GetResponse();            string html = new StreamReader(wrp.GetResponseStream(), Encoding.UTF8).ReadToEnd();
                cookie = wrp.Headers.Get("Set-Cookie");
                return html;
            }
            public static string GetHtml(string URL, string postData, string cookie, out string header)
            {
                return GetHtml("http://gubapost.eastmoney.com", URL, postData, cookie, out header);
            }
            public static string GetHtml(string server, string URL, string postData, string cookie, out string header)
            {
                byte[] byteRequest = Encoding.Default.GetBytes(postData);
                return GetHtml(server, URL, byteRequest, cookie, out header);
            }
            public static string GetHtml(string server, string URL, byte[] byteRequest, string cookie, out string header)
            {
                byte[] bytes = GetHtmlByBytes(server, URL, byteRequest, cookie, out header);
                Stream getStream = new MemoryStream(bytes);
                StreamReader streamReader = new StreamReader(getStream, Encoding.UTF8);
                string getString = streamReader.ReadToEnd();
                streamReader.Close();
                getStream.Close();
                return getString;
            }
            public static byte[] GetHtmlByBytes(string server, string URL, byte[] byteRequest, string cookie,out string header)
            {
                long contentLength;
                HttpWebRequest httpWebRequest;
                HttpWebResponse webResponse;
                Stream getStream;            httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(URL);
                CookieContainer co = new CookieContainer();
                co.SetCookies(new Uri(server), cookie);            httpWebRequest.CookieContainer = co;            httpWebRequest.ContentType = "application/x-www-form-urlencoded";
                httpWebRequest.Accept =
                    "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-shockwave-flash, */*";
                httpWebRequest.Referer = "http://guba.eastmoney.com/look,gssz,8181701.html";
                httpWebRequest.UserAgent =
                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";
                httpWebRequest.Method = "Post";
                httpWebRequest.ContentLength = byteRequest.Length;
                Stream stream;
                stream = httpWebRequest.GetRequestStream();
                stream.Write(byteRequest, 0, byteRequest.Length);
                stream.Close();
                webResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                header = webResponse.Headers.ToString();
                getStream = webResponse.GetResponseStream();
                contentLength = webResponse.ContentLength;            byte[] outBytes = new byte[contentLength];
                outBytes = ReadFully(getStream);
                getStream.Close();
                return outBytes;
            }
            public static byte[] ReadFully(Stream stream)
            {
                byte[] buffer = new byte[128];
                using (MemoryStream ms = new MemoryStream())
                {
                    while (true)
                    {
                        int read = stream.Read(buffer, 0, buffer.Length);
                        if (read <= 0)
                            return ms.ToArray();
                        ms.Write(buffer, 0, read);
                    }
                }
            }
            public static string GetHtml(string URL, string cookie, out string header)
           {
               return GetHtml(URL, cookie, out header, "http://gubapost.eastmoney.com");
           }
           public static string GetHtml(string URL, string cookie, out string header, string server)
           {
              HttpWebRequest httpWebRequest;
                HttpWebResponse webResponse;
               Stream getStream;
                StreamReader streamReader;
                string getString = "";
               httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(URL);
               httpWebRequest.Accept = "*/*";
                httpWebRequest.Referer = "http://guba.eastmoney.com/topic,hxnc.html";
               CookieContainer co = new CookieContainer();
               co.SetCookies(new Uri(server), cookie);
               httpWebRequest.CookieContainer = co;
                httpWebRequest.UserAgent =
                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";
                httpWebRequest.Method = "GET";
               webResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                header = webResponse.Headers.ToString();
             getStream = webResponse.GetResponseStream();
               streamReader = new StreamReader(getStream, Encoding.UTF8);
           getString = streamReader.ReadToEnd();
                
            streamReader.Close();
             getStream.Close();
             return getString;
           }
            #region --stream--
            public static Stream GetStreamByBytes(string server, string URL, byte[] byteRequest, string cookie,
                                                  out string header)
            {
                Stream stream = new MemoryStream(GetHtmlByBytes(server, URL, byteRequest, cookie, out header));
                return stream;
            }
            #endregion
        }
      

  6.   

    postData 是你需要提交的內容
      

  7.   

    1,分析你需要登陆的网页
    2,获取你需要POST的数据,
    3,httpWebRequest POST 登陆信息,即可。有时候可能需要多次跳转,自己在具体分析。