ASP.NetページでリモートWebサイトを要求


友達がASPを持っている方法を聞いた.Netページでは、リモートWEBサイトをリクエストし、パラメータを送信し、リクエストに応答した結果を得ることができます.具体的な機能の実現について、下の小さな例で説明します.
まず、リモート・サイトを要求するには、SystemにあるHttpWebRequestクラスが必要です.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.        }