ASP.NetページでリモートWebサイトを要求
友達がASPを持っている方法を聞いた.Netページでは、リモートWEBサイトをリクエストし、パラメータを送信し、リクエストに応答した結果を得ることができます.具体的な機能の実現について、下の小さな例で説明します.
まず、リモート・サイトを要求するには、SystemにあるHttpWebRequestクラスが必要です.Netネーミングスペースにあるので、引用する必要があります.また、要求するページにパラメータを書き込む際にはStreamフロー操作が必要となるため、Systemを参照する必要がある.IOネーミングスペース.
以下はGetリクエスト方式です.
以下はPOST要求方式である.
まず、リモート・サイトを要求するには、SystemにあるHttpWebRequestクラスが必要です.Netネーミングスペースにあるので、引用する必要があります.また、要求するページにパラメータを書き込む際にはStreamフロー操作が必要となるため、Systemを参照する必要がある.IOネーミングスペース.
以下はGetリクエスト方式です.
- Uri uri = new Uri("http://www.cnsaiko.com/");// uri ,
- if (uri.Scheme.Equals(Uri.UriSchemeHttp))// uri http
- {
- HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);// HttpWebRequest Create uri 。
- request.Method = WebRequestMethods.Http.Get;// Get
-
- HttpWebResponse response = (HttpWebResponse)request.GetResponse();// , HttpWebResponse
- StreamReader reader = new StreamReader(response.GetResponseStream());//
- string str = reader.ReadToEnd(); // str
- response.Close(); //
- Response.Write(str); //
- Response.End(); // 。
- }
以下はPOST要求方式である.
- Uri uri = new Uri("http://www.cnsaiko.com/Admin/Login.aspx?type=Login");// uri , , form action 。
- if (uri.Scheme == Uri.UriSchemeHttp)// uri http
- {
- string name = Server.UrlEncode(" ");// url
- string pwd = Server.UrlEncode("123");
- string data = "UserName=" + name + "&UserPwd=" + pwd; //data ,= , ; , "&" 。
- HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
- request.Method = WebRequestMethods.Http.Post;// Post
- request.ContentLength = data.Length; //
- request.ContentType = "application/x-www-form-urlencoded"; //
-
- StreamWriter writer = new StreamWriter(request.GetRequestStream()); //
- writer.Write(data); //
- writer.Close(); // 。
-
- HttpWebResponse response = (HttpWebResponse)request.GetResponse();
- StreamReader reader = new StreamReader(response.GetResponseStream());
- string str = reader.ReadToEnd();
- response.Close();
- Response.Write(str);
- Response.End();
- }