模拟自动向网页Post信息并都接受信息进行处理---C#实现
2012-09-17 20:12 ATP_ 阅读(381) 评论(0) 收藏 举报 class Post
    {
        /// <summary>
        /// 向目标网页发送数据
        /// </summary>
        /// <param name="url">目标页</param>
        /// <param name="postData">数据</param>
        /// <param name="encodeType">编码格式</param>
        /// <param name="err">错误信息</param>
        /// <returns>string 字符串型返回值</returns>
        public  string getPage(string url, string postData, string encodeType,  string err)
        {
            Stream outstream = null;
            Stream instream = null;
            StreamReader sr = null;
            HttpWebResponse response = null;
            HttpWebRequest request = null;
            Encoding encoding = Encoding.GetEncoding(encodeType);
            byte[] data = encoding.GetBytes(postData);
            string rt_str = null;
            try
            {
              
                request = WebRequest.Create(url) as HttpWebRequest;
                CookieContainer cookieContainer = new CookieContainer();
                request.CookieContainer = cookieContainer;
                request.AllowAutoRedirect = true;
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = data.Length;
                outstream = request.GetRequestStream();
                outstream.Write(data, 0, data.Length);
                outstream.Close();
                response = request.GetResponse() as HttpWebResponse;
                instream = response.GetResponseStream();
                sr = new StreamReader(instream, encoding);
                string content = sr.ReadToEnd();
                rt_str = getCode(postData, content);
                
               // err = string.Empty;
                return rt_str;
                
            }
            catch (Exception ex)
            {
                err = ex.Message;
                return string.Empty;
            }
        }
        virtual public  string getCode(string data, string str)
        {
            if (str.IndexOf("window.alert") != -1)
            {
                return "N";
            }
            else
                return data;
        }
    }
    给梦想一点时间
 
                     
                    
                 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号