How to simulate HTTP POST programmatically in ASP.NET?

后端 未结 5 1214
迷失自我
迷失自我 2020-12-09 05:31

I need to simulate an HTTP POST programmatically, i.e., I need to generate a Request with some POST variables and then send it to a page.

To clarify, I need to simul

5条回答
  •  爱一瞬间的悲伤
    2020-12-09 06:08

    Something like this?

        public string DoFormPost(string Target, string PostData)
        {
            //Make a request            
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Target);
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.AllowAutoRedirect = false;
    
            //Put the post data into the request
            byte[] data = (new ASCIIEncoding()).GetBytes(PostData);
            request.ContentLength = data.Length;
            Stream reqStream = request.GetRequestStream();
            reqStream.Write(data, 0, data.Length);
            reqStream.Close();
    
            //Get response
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    
            //Output response to a string            
            String result = "";
            using (Stream responseStream = response.GetResponseStream())
            {
                using (StreamReader reader = new StreamReader(responseStream, Encoding.UTF8))
                {
                    result = reader.ReadToEnd();
                    reader.Close();
                }
                return result;
            }
        }
    

提交回复
热议问题