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();