与采集有关的两个小函数

private static string PostData(string url, string postdata, CookieContainer cookieContainer)
        {
            string outdata = string.Empty;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = postdata.Length;
            request.UserAgent = userAgent;
            request.Method = "POST";
            request.CookieContainer = cookieContainer;
            using (Stream inStream = request.GetRequestStream())
            {
                using (StreamWriter sw = new StreamWriter(inStream, Encoding.GetEncoding("gb2312")))
                {
                    sw.Write(postdata);
                }
            }

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            response.Cookies = cookieContainer.GetCookies(request.RequestUri);
            using (Stream outStream = response.GetResponseStream())
            {
                using (StreamReader sr = new StreamReader(outStream, Encoding.GetEncoding("gb2312")))
                {
                    outdata = sr.ReadToEnd();
                }
            }

            return outdata;
        }

        private static string GetDate(string url, CookieContainer myCookieContainer)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.ContentType = "text/html";
            request.Method = "GET";
            request.CookieContainer = myCookieContainer;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            string outdata = string.Empty;

            if (request.HaveResponse)
            {
                foreach (Cookie returnCookie in response.Cookies)
                {
                    bool cookieFound = false;

                    foreach (Cookie oldCookie in myCookieContainer.GetCookies(request.RequestUri))
                    {
                        if (returnCookie.Name.Equals(oldCookie.Name))
                        {
                            oldCookie.Value = returnCookie.Value;
                            cookieFound = true;
                        }
                    }

                    if (!cookieFound)
                        myCookieContainer.Add(returnCookie);
                }
            }

            using (Stream outStream = response.GetResponseStream())
            {
                using (StreamReader sr = new StreamReader(outStream, Encoding.GetEncoding("gb2312")))
                {
                    outdata = sr.ReadToEnd();
                }
            }

            return outdata;
        }

相关文章

随机推荐:

相关链接

helloajax.com
专注Ajax、Asp.Net、JavaScript技术