首页 > Web开发 > 详细

WebRequest

时间:2014-01-18 18:39:51      阅读:441      评论:0      收藏:0      [点我收藏+]

1  webrequest 是什么:编程方式模拟web请求,利用webrequest可以实现 相当于一个浏览器请求一个网页的效果,可以属性上的自我控制

官方解释

WebRequest 是 .NET Framework 的请求/响应模型的 abstract 基类,用于访问 Internet 数据。使用该请求/响应模型的应用程序可以用协议不可知的方式从 Internet 请求数据,在这种方式下,应用程序处理 WebRequest 类的实例,而协议特定的子类则执行请求的具体细节。

请求从应用程序发送到某个特定的 URI,如服务器上的网页。URI 从一个为应用程序注册的 WebRequest 子代列表中确定要创建的适当子类。注册 WebRequest 子代通常是为了处理某个特定的协议(如 HTTP 或 FTP),但是也可以注册它以处理对特定服务器或服务器上的路径的请求。

 

请求 ------>相应请求----->得到回复流

请求可以设置属性,控制请求的效果,比如 请求的方式,(post,get 等等)请求的IP,请求的http(消息头.请求的消息体),长度.编码方式 等等.

默认是get 请求.post 和get 有点区别. post 需要先 创建写入数据的GetRequestStream()

post 请求

bubuko.com,布布扣
var request = (HttpWebRequest)WebRequest.Create(Url);
                    request.Method = "POST";
                    request.ContentType = "application/json";
                    request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
                    var myRequestStream = request.GetRequestStream();
                    var myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
                    myStreamWriter.Write(postDataStr);
                    myStreamWriter.Close();
                    var response = (HttpWebResponse)request.GetResponse();
                    if (response.StatusCode != HttpStatusCode.OK)
                    {
                        continue;
                    }
                    var myResponseStream = response.GetResponseStream();
                    var myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                    retString = myStreamReader.ReadToEnd();
                    if (response != null)
                    {
                        response.Close();
                    }
                    myStreamReader.Close();
bubuko.com,布布扣

默认的Get

bubuko.com,布布扣
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.baidu.com");
          
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader stream = new StreamReader(response.GetResponseStream());
bubuko.com,布布扣

当然 还有许多东西 可以设置

WebRequest

原文:http://www.cnblogs.com/jiaofu2012/p/3525062.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!