HttpWebRequest类与HttpRequest类的区别
HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息。
HttpWebRequest用于客户端,拼接请求的HTTP报文并发送等。它封装了几乎HTTP请求报文里需要用到的东西,以致于能够能够发送任意的HTTP请求并获得服务器响应(Response)信息。采集信息常用到这个类
1 private ApiResultModel GetDataByProductIdInApi(int ProductID) 2 { 3 ApiResultModel model = null; 4 string url = "http://localhost:9001/West/ProductDZ/InfoPreView/" + ProductID; 5 //HttpWebRequest实力需要使用Create创建,然后设置一些参数 6 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); 7 request.Method = "Get"; 8 request.ContentType = "application/json"; 9 //需要注意的是因为是异端请求所以需要trycatch释放异常及处理 10 try11 {12 WebResponse response = request.GetResponse()13 //流对象需要手工释放对象14 using (Stream stream = response.GetResponseStream())15 {16 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))17 {18 model = new ApiResultModel();19 model = JsonConvert.DeserializeObject(reader.ReadToEnd());20 }21 }22 23 return model;24 }25 catch (Exception)26 {27 request.Abort();28 }29 finally30 {31 request.Abort();32 }33 return null;34 }
内部使用了Newton.js是解析json对象,需要创建与服务器想通的model类
HttpWebRequest功能比较强大,也可以实现post提交数据及上传or下载数据
post操作可参考:http://www.cnblogs.com/kissdodog/archive/2013/04/06/3002779.html