HttpWebRequest,HttpWebResponse的用法和用途
1.用途:HettpWebRequest,HettpWebResponse用途和webServers的作用差不多,都是得到一个页面传过来的值。HttpWebRequest
2。用法:----------------get的用法(相对简单)------------------
System.Net.HttpWebRequest httpWebRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("hettp://hibaidu.com/yangyuefei? name=yangshuai");//创建一个hettpReq请求对象,包含要传递的值name;- httpWebRequest.Method="GET";//传递的方法,必须要写,而已Get必须大写。
- System.Net.HttpWebResponse httpWebResponse = (System.Net.HttpWebReponse)httpWebRequest.GetResponse();//创建一个响应对象,并重请求对象中得到响应对象的事例。
- System.IO.Stream stream = new System.IO.Stream();//创建一个流对象(用来读取响应对象的内容)
- stream = httpWebResponse.GetResponseStream();//得到回应过来的流
- System.IO.StreamReader streamReader = new System.IO.StreamReader(stream,System.Text.Encoding.Default);//创建一个流的读取对象,用来输出传过来的内容
- string strOut = streamReader.RedToEnd();
- httpWebResponse.Close();//响应关闭,要不会占用网络资源
- Response.Write(strOut);//输出流,要提醒的是,它输出的是 另一个网页的页面上的内容
- ---HttpWebRequest,httpWebResponse的post用法
- System.Net.HttpWebRequest httpWebRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create
- ("http://httpWebRequest/httpWebRequest/httpWebRequest.aspx");
- httpWebRequest.Method = "POST";
- httpWebRequest.ContentType = "application/x-www-form-urlencoded"; //表头的格式必须要写,否则请求响应的页面得不到要传递的值
- byte[] SomeBytes=System.Text.Encoding.Default.GetBytes("name=yang&passwod=123");//传递的值
- req.ContentLength = SomeBytes.Length;
- System.IO.Stream newStream = req.GetRequestStream();//把传递的值写到流中
- newStream.Write(SomeBytes, 0, SomeBytes.Length);
- newStream.Close();//必须要关闭 请求
- System.Net.HttpWebResponse httpWebResponse = null;
- httpWebResponse = (System.Net.HttpWebResponse)httpWebRequest.GetResponse();
- System.IO.Stream s=httpWebResponse.GetResponseStream();
- System.IO.StreamReader reader = new System.IO.StreamReader(s,System.Text.Encoding.Default);
- string respHTML = reader.ReadToEnd();
- Response.Write(respHTML);
- s.Close();