代码之家  ›  专栏  ›  技术社区  ›  Himadri

如何使用webrequest发布数据并从网页获取响应

  •  36
  • Himadri  · 技术社区  · 15 年前

    我需要实现一个应用程序来向给定的url发送请求并获得响应。

    向给定url发送请求并获取响应的最佳方法是什么?

    请帮忙。

    1 回复  |  直到 10 年前
        1
  •  77
  •   Ben    10 年前

    这个怎么样?

    using System;
    using System.IO;
    using System.Net;
    using System.Text;
    
    namespace Examples.System.Net
    {
        public class WebRequestPostExample
        {
            public static void Main ()
            {
                // Create a request using a URL that can receive a post. 
                WebRequest request = WebRequest.Create ("http://www.contoso.com/PostAccepter.aspx ");
                // Set the Method property of the request to POST.
                request.Method = "POST";
    
                // Create POST data and convert it to a byte array.
                string postData = "This is a test that posts this string to a Web server.";
                byte[] byteArray = Encoding.UTF8.GetBytes (postData);
                // Set the ContentType property of the WebRequest.
                request.ContentType = "application/x-www-form-urlencoded";
                // Set the ContentLength property of the WebRequest.
                request.ContentLength = byteArray.Length;
    
                // Get the request stream.
                Stream dataStream = request.GetRequestStream ();
                // Write the data to the request stream.
                dataStream.Write (byteArray, 0, byteArray.Length);
                // Close the Stream object.
                dataStream.Close ();
    
                // Get the response.
                WebResponse response = request.GetResponse ();
                // Display the status.
                Console.WriteLine (((HttpWebResponse)response).StatusDescription);
                // Get the stream containing content returned by the server.
                dataStream = response.GetResponseStream ();
                // Open the stream using a StreamReader for easy access.
                StreamReader reader = new StreamReader (dataStream);
                // Read the content.
                string responseFromServer = reader.ReadToEnd ();
                // Display the content.
                Console.WriteLine (responseFromServer);
                // Clean up the streams.
                reader.Close ();
                dataStream.Close ();
                response.Close ();
            }
        }
    }
    

    取自MSDN: MSDN on WebRequest