ASP.net页面中请求远程Web站点

有朋友问到,如何在已有ASP.net页面中,去请求远程WEB站点,并能传参,且得到请求所响应的结果。用下边的小例子讲解具体功能的实现:

首先,我们想要请求远程站点,需要用到HttpWebRequest类,该类在System.Net命名空间中,所以需要引用一下。另外,在向请求的页面写入参数时需要用到Stream流操作,所以需要引用System.IO命名空间

 以下为Get请求方式:

 
 
  1. Uri uri = new Uri("http://www.cnsaiko.com/");//创建uri对象,指定要请求到的地址  
  2. if (uri.Scheme.Equals(Uri.UriSchemeHttp))//验证uri是否以http协议访问  
  3. {  
  4.     HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);//使用HttpWebRequest类的Create方法创建一个请求到uri的对象。  
  5.     request.Method = WebRequestMethods.Http.Get;//指定请求的方式为Get方式  
  6.  
  7.     HttpWebResponse response = (HttpWebResponse)request.GetResponse();//获取该请求所响应回来的资源,并强转为HttpWebResponse响应对象  
  8.     StreamReader reader = new StreamReader(response.GetResponseStream());//获取该响应对象的可读流  
  9.     string str = reader.ReadToEnd(); //将流文本读取完成并赋值给str  
  10.     response.Close(); //关闭响应  
  11.     Response.Write(str); //本页面输出得到的文本内容  
  12.     Response.End(); //本页面响应结束。  

以下为POST请求方式:

 
 
  1. Uri uri = new Uri("http://www.cnsaiko.com/Admin/Login.aspx?type=Login");//创建uri对象,指定要请求到的地址,注意请求的地址为form表单的action地址。  
  2.        if (uri.Scheme == Uri.UriSchemeHttp)//验证uri是否以http协议访问  
  3.        {  
  4.            string name = Server.UrlEncode("张三");//将要传的参数进行url编码  
  5.            string pwd = Server.UrlEncode("123");  
  6.            string data = "UserName=" + name + "&UserPwd=" + pwd; //data为要传的参数,=号前边的为表单元素的名称,后边的为要赋的值;如果参数为多个,则使用"&"连接。  
  7.            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);  
  8.            request.Method = WebRequestMethods.Http.Post;//指定请求的方式为Post方式  
  9.            request.ContentLength = data.Length; //指定要请求参数的长度  
  10.            request.ContentType = "application/x-www-form-urlencoded"//指定请求的内容类型  
  11.  
  12.            StreamWriter writer = new StreamWriter(request.GetRequestStream()); //用请求对象创建请求的写入流  
  13.            writer.Write(data); //将请求的参数列表写入到请求对象中  
  14.            writer.Close(); //关闭写入流。  
  15.  
  16.            HttpWebResponse response = (HttpWebResponse)request.GetResponse();  
  17.            StreamReader reader = new StreamReader(response.GetResponseStream());  
  18.            string str = reader.ReadToEnd();  
  19.            response.Close();  
  20.            Response.Write(str);  
  21.            Response.End();  
  22.        } 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值