HttpRequest クラス
アセンブリ: System.Web (system.web.dll 内)

Public NotInheritable Class HttpRequest

HttpRequest クラスのメソッドとプロパティは、HttpApplication、HttpContext、Page、および UserControl の各クラスの Request プロパティによって公開されます。

StreamWriter クラスを使用して、HttpRequest クラスの複数のプロパティ値をファイルに書き込むコード例を次に示します。文字列型のプロパティの場合、ファイルに書き込むときに値が HTML エンコードされます。コレクションを表すプロパティでは、格納されているキーと値の各ペアがループ処理でファイルに書き込まれます。
<%@ Page Language="VB" %> <%@ import Namespace="System.Threading" %> <%@ import Namespace="System.IO" %> <script runat="server"> ' NOTE: To use this sample, create a c:\temp\CS folder, ' add the ASP.NET account (in IIS 5.x <machinename>\ASPNET , ' in IIS 6.x NETWORK SERVICE), and give it write permissions ' to the folder. Private Const INFO_DIR As String = "c:\temp\VB\RequestDetails" Public Shared requestCount As Integer Private Sub Page_Load(sender As Object, e As System.EventArgs) ' Create a variable to use when iterating ' through the UserLanguages property. Dim langCount As Integer ' Create a counter to name the file. Dim requestNumber As Integer = _ Interlocked.Increment(requestCount) ' Create the file to contain information about the request. Dim strFilePath As String = INFO_DIR & requestNumber.ToString() & ".txt" Dim sw As StreamWriter = File.CreateText(strFilePath) Try ' Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(DateTime.Now.ToString())) sw.WriteLine(Server.HtmlEncode(Request.CurrentExecutionFilePath)) sw.WriteLine(Server.HtmlEncode(Request.ApplicationPath)) sw.WriteLine(Server.HtmlEncode(Request.FilePath)) sw.WriteLine(Server.HtmlEncode(Request.Path)) ' Iterate through the Form collection and write ' the values to the file with HTML encoding. For Each s As String In Request.Form sw.WriteLine("Form: " & Server.HtmlEncode(s)) Next s ' Write the PathInfo property value ' or a string if it is empty. If Request.PathInfo = String.Empty Then sw.WriteLine("The PathInfo property contains no information.") Else sw.WriteLine(Server.HtmlEncode(Request.PathInfo)) End If ' Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(Request.PhysicalApplicationPath)) sw.WriteLine(Server.HtmlEncode(Request.PhysicalPath)) sw.WriteLine(Server.HtmlEncode(Request.RawUrl)) ' Write a message to the file dependent upon ' the value of the TotalBytes property. If Request.TotalBytes > 1000 Then sw.WriteLine("The request is 1KB or greater") Else sw.WriteLine("The request is less than 1KB") End If ' Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(Request.RequestType)) sw.WriteLine(Server.HtmlEncode(Request.UserHostAddress)) sw.WriteLine(Server.HtmlEncode(Request.UserHostName)) sw.WriteLine(Server.HtmlEncode(Request.HttpMethod)) ' Iterate through the UserLanguages collection and ' write its HTML encoded values to the file. For langCount = 0 To Request.UserLanguages.Length - 1 sw.WriteLine("User Language " & langCount.ToString() & _ ": " & Server.HtmlEncode( _ Request.UserLanguages(langCount))) Next Finally ' Close the stream to the file. sw.Close() End Try lblInfoSent.Text = _ "Information about this request has been sent to a file." End Sub 'Page_Load Private Sub btnSendInfo_Click(sender As Object, e As System.EventArgs) lblInfoSent.Text = _ "Hello, " & Server.HtmlEncode(txtBoxName.Text) & _ ". You have created a new request info file." End Sub 'btnSendInfo_Click </script> <html> <head> </head> <body> <form runat="server"> <p> </p> <p> Enter your hame here: <asp:TextBox id="txtBoxName" runat="server"></asp:TextBox> </p> <p> <asp:Button id="btnSendInfo" onclick="btnSendInfo_Click" runat="server" Text="Click Here"></asp:Button> </p> <p> <asp:Label id="lblInfoSent" runat="server"></asp:Label> </p> </form> </body> </html>
<%@ Page Language="C#" %> <%@ import Namespace="System.Threading" %> <%@ import Namespace="System.IO" %> <script runat="server"> /* NOTE: To use this sample, create a c:\temp\CS folder, * add the ASP.NET account (in IIS 5.x <machinename>\ASPNET , * in IIS 6.x NETWORK SERVICE), and give it write permissions * to the folder.*/ private const string INFO_DIR = @"c:\temp\CS\RequestDetails"; public static int requestCount; private void Page_Load(object sender, System.EventArgs e) { // Create a variable to use when iterating // through the UserLanguages property. int langCount; int requestNumber = Interlocked.Increment(ref requestCount); // Create the file to contain information about the request. string strFilePath = INFO_DIR + requestNumber.ToString() + @".txt"; StreamWriter sw = File.CreateText(strFilePath); try { // Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(DateTime.Now.ToString())); sw.WriteLine(Server.HtmlEncode(Request.CurrentExecutionFilePath)); sw.WriteLine(Server.HtmlEncode(Request.ApplicationPath)); sw.WriteLine(Server.HtmlEncode(Request.FilePath)); sw.WriteLine(Server.HtmlEncode(Request.Path)); // Iterate through the Form collection and write // the values to the file with HTML encoding. // String[] formArray = Request.Form.AllKeys; foreach (string s in Request.Form) { sw.WriteLine("Form: " + Server.HtmlEncode(s)); } // Write the PathInfo property value // or a string if it is empty. if (Request.PathInfo == String.Empty) { sw.WriteLine("The PathInfo property contains no information."); } else { sw.WriteLine(Server.HtmlEncode(Request.PathInfo)); } // Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(Request.PhysicalApplicationPath)); sw.WriteLine(Server.HtmlEncode(Request.PhysicalPath)); sw.WriteLine(Server.HtmlEncode(Request.RawUrl)); // Write a message to the file dependent upon // the value of the TotalBytes property. if (Request.TotalBytes > 1000) { sw.WriteLine("The request is 1KB or greater"); } else { sw.WriteLine("The request is less than 1KB"); } // Write request information to the file with HTML encoding. sw.WriteLine(Server.HtmlEncode(Request.RequestType)); sw.WriteLine(Server.HtmlEncode(Request.UserHostAddress)); sw.WriteLine(Server.HtmlEncode(Request.UserHostName)); sw.WriteLine(Server.HtmlEncode(Request.HttpMethod)); // Iterate through the UserLanguages collection and // write its HTML encoded values to the file. for (langCount=0; langCount < Request.UserLanguages.Length; langCount++) { sw.WriteLine(@"User Language " + langCount +": " + Server.HtmlEncode(Request.UserLanguages[langCount])); } } finally { // Close the stream to the file. sw.Close(); } lblInfoSent.Text = "Information about this request has been sent to a file."; } private void btnSendInfo_Click(object sender, System.EventArgs e) { lblInfoSent.Text = "Hello, " + Server.HtmlEncode(txtBoxName.Text) + ". You have created a new request info file."; } </script> <html> <head> </head> <body> <form runat="server"> <p> </p> <p> Enter your hame here: <asp:TextBox id="txtBoxName" runat="server"></asp:TextBox> </p> <p> <asp:Button id="btnSendInfo" onclick="btnSendInfo_Click" runat="server" Text="Click Here"></asp:Button> </p> <p> <asp:Label id="lblInfoSent" runat="server"></asp:Label> </p> </form> </body> </html>


System.Web.HttpRequest


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- HttpRequest クラスのページへのリンク