码迷,mamicode.com
首页 > Web开发 > 详细

网络请求HttpWebRequest的Get和Post

时间:2017-08-11 13:35:58      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:creat   pos   长度   验证   命名空间   编码   内容类型   content   login   

用下边的小例子讲解具体功能的实现:
首先,我们想要请求远程站点,需要用到HttpWebRequest类,该类在System.Net命名空间中,所以需要引用一下。另外,在向请求的页面写入参数时需要用到Stream流操作,所以需要引用System.IO命名空间
以下为Get请求方式:

  • Uri uri = new Uri("http://www.cnsaiko.com/");//创建uri对象,指定要请求到的地址  
  • if (uri.Scheme.Equals(Uri.UriSchemeHttp))//验证uri是否以http协议访问
  • {  
  •     HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);//使用HttpWebRequest类的Create方法创建一个请求到uri的对象。
  •     request.Method = WebRequestMethods.Http.Get;//指定请求的方式为Get方式

  •     HttpWebResponse response = (HttpWebResponse)request.GetResponse();//获取该请求所响应回来的资源,并强转为HttpWebResponse响应对象
  •     StreamReader reader = new StreamReader(response.GetResponseStream());//获取该响应对象的可读流

  • string str = reader.ReadToEnd(); //将流文本读取完成并赋值给str
  •     response.Close(); //关闭响应
  •     Response.Write(str); //本页面输出得到的文本内容
  •     Response.End(); //本页面响应结束。
  • }

以下为POST请求方式:

    • Uri uri = new Uri("http://www.cnsaiko.com/Admin/Login.aspx?type=Login");//创建uri对象,指定要请求到的地址,注意请求的地址为form表单的action地址。  

    • if (uri.Scheme == Uri.UriSchemeHttp)//验证uri是否以http协议访问
    •        {  

    • string name = Server.UrlEncode("张三");//将要传的参数进行url编码

    • string pwd = Server.UrlEncode("123");  

    • string data = "UserName=" + name + "&UserPwd=" + pwd; //data为要传的参数,=号前边的为表单元素的名称,后边的为要赋的值;如果参数为多个,则使用"&"连接。
    •            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);  
    •            request.Method = WebRequestMethods.Http.Post;//指定请求的方式为Post方式
    •            request.ContentLength = data.Length; //指定要请求参数的长度
    •            request.ContentType = "application/x-www-form-urlencoded"; //指定请求的内容类型

    •            StreamWriter writer = new StreamWriter(request.GetRequestStream()); //用请求对象创建请求的写入流
    •            writer.Write(data); //将请求的参数列表写入到请求对象中
    •            writer.Close(); //关闭写入流。

    •            HttpWebResponse response = (HttpWebResponse)request.GetResponse();  
    •            StreamReader reader = new StreamReader(response.GetResponseStream());  

    • string str = reader.ReadToEnd();  
    •            response.Close();  
    •            Response.Write(str);  
    •            Response.End();  
    •        }

网络请求HttpWebRequest的Get和Post

标签:creat   pos   长度   验证   命名空间   编码   内容类型   content   login   

原文地址:http://www.cnblogs.com/UncleDrew/p/7345259.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!