使用C#发送POST请求

转:http://blog.csdn.net/yelbosh/article/details/7486636

这里我们要发送一个POST请求,并接受返回的数据:

namespace Yelbosh{
class Post{
static void main(string[] args){
sentence = "你好吧";
Encoding encoding = Encoding.GetEncoding("UTF-8");
Stream outstream = null;
            Stream instream = null;
            StreamReader sr = null;
                  string url = "http://1.caunion.sinaapp.com/a.php";
            HttpWebRequest request = null;
            HttpWebResponse response = null;

// 准备请求,设置参数
            request = WebRequest.Create(url) as HttpWebRequest;
            request.Method = "POST";
            request.ContentType ="application/x-www-form-urlencoded";
           
            byte[] data = encoding.GetBytes(url + "&sentence="+sentence);
            request.ContentLength = data.Length;
            outstream = request.GetRequestStream();
            outstream.Write(data, 0, data.Length);
            outstream.Flush();
            outstream.Close();
            //发送请求并获取相应回应数据


            response = request.GetResponse() as HttpWebResponse;
            //直到request.GetResponse()程序才开始向目标网页发送Post请求
            instream = response.GetResponseStream();
            sr = new StreamReader(instream, encoding);
            //返回结果网页(html)代码


            string content = sr.ReadToEnd();
}
}
}


HttpWebRequest在初始化的时候要先根据url进行创建,然后再设置Method和ContentType,然后再将请求的内容写进去,通过GetRequestStream来返回流,再向这个流中写请求内容便可以了。再通过request对象的GetResponse方法返回response对象,最后得到返回的数据流,这是通过GetResponseStream方法返回的,最后从这个流中读出返回的数据便ok了。

原文地址:https://www.cnblogs.com/wybshyy/p/13783748.html