HttpUtility.ParseQueryString HttpUtility.ParseQueryString HttpUtility.ParseQueryString HttpUtility.ParseQueryString Method

定義

クエリ文字列を解析して NameValueCollection に変換します。Parses a query string into a NameValueCollection.

オーバーロード

ParseQueryString(String) ParseQueryString(String) ParseQueryString(String) ParseQueryString(String)

NameValueCollection エンコードでクエリ文字列を解析して UTF8 に変換します。Parses a query string into a NameValueCollection using UTF8 encoding.

ParseQueryString(String, Encoding) ParseQueryString(String, Encoding) ParseQueryString(String, Encoding)

指定した NameValueCollection でクエリ文字列を解析して Encoding に変換します。Parses a query string into a NameValueCollection using the specified Encoding.

ParseQueryString(String) ParseQueryString(String) ParseQueryString(String) ParseQueryString(String)

NameValueCollection エンコードでクエリ文字列を解析して UTF8 に変換します。Parses a query string into a NameValueCollection using UTF8 encoding.

public:
 static System::Collections::Specialized::NameValueCollection ^ ParseQueryString(System::String ^ query);
public static System.Collections.Specialized.NameValueCollection ParseQueryString (string query);
static member ParseQueryString : string -> System.Collections.Specialized.NameValueCollection
Public Shared Function ParseQueryString (query As String) As NameValueCollection

パラメーター

query
String String String String

解析するクエリ文字列。The query string to parse.

戻り値

クエリ パラメーターと値の NameValueCollectionA NameValueCollection of query parameters and values.

例外

次のコード例は、ParseQueryString メソッドの使用方法を示します。The following code example demonstrates how to use the ParseQueryString method. 同じクエリ文字列変数の複数の発生は、返された 1 つのエントリに統合されますNameValueCollectionします。Multiple occurrences of the same query string variable are consolidated in one entry of the returned NameValueCollection.

<%@ Page Language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
    String currurl = HttpContext.Current.Request.RawUrl;
    String querystring = null ;

    // Check to make sure some query string variables
    // exist and if not add some and redirect.
    int iqs = currurl.IndexOf('?');
    if (iqs == -1)
    {
      String redirecturl = currurl + "?var1=1&var2=2+2%2f3&var1=3";
      Response.Redirect(redirecturl, true); 
    }
    // If query string variables exist, put them in
    // a string.
    else if (iqs >= 0)
    {
      querystring = (iqs < currurl.Length - 1) ? currurl.Substring(iqs + 1) : String.Empty;
    }
   
    // Parse the query string variables into a NameValueCollection.
    NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);
    
    // Iterate through the collection.
    StringBuilder sb = new StringBuilder("<br />");
    foreach (String s in qscoll.AllKeys)
    {
      sb.Append(s + " - " + qscoll[s] + "<br />");
    }
    
    // Write the result to a label.
    ParseOutput.Text = sb.ToString();

  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpUtility ParseQueryString Example</title>
</head>
<body>
    <form id="form1" runat="server">
      Query string variables are:
      <asp:Label  id="ParseOutput"
                  runat="server" />
    </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim currurl As String = HttpContext.Current.Request.RawUrl
    Dim querystring As String = Nothing
    
    ' Check to make sure some query string variables
    ' exist and if not add some and redirect.
    Dim iqs As Int32 = currurl.IndexOf("?".ToCharArray())
    If (iqs = -1) Then
      
      Dim redirecturl As String = currurl & "?var1=1&var2=2+2%2f3&var1=3"
      Response.Redirect(redirecturl, True)
      
      ' If query string variables exist, put them in
      ' a string.
    ElseIf (iqs >= 0) Then
      
      If (iqs < currurl.Length - 1) Then
        querystring = currurl.Substring(iqs + 1)
      End If
          
    End If

    ' Parse the query string variables into a NameValueCollection.
    Dim qscoll As NameValueCollection = HttpUtility.ParseQueryString(querystring)
    
    ' Iterate through the collection.
    Dim sb As New StringBuilder("<br />")
    For Each s As String In qscoll.AllKeys
      
      sb.Append(s & " - " & qscoll(s) & "<br />")
    
    Next s
    
    ' Write the result to a label
    ParseOutput.Text = sb.ToString()
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>HttpUtility ParseQueryString Example</title>
</head>
<body>
    <form id="Form1" runat="server">
      Query string variables are:
      <asp:Label  id="ParseOutput"
                  runat="server" />
    </form>
</body>
</html>

注釈

ParseQueryStringメソッドはUTF8形式で返されたクエリ文字列を解析するNameValueCollectionURL でエンコードされた文字をデコードし、同じクエリ文字列パラメーターの複数の発生は、1 つのエントリとして、それぞれを区切るコンマと共に一覧表示されます値。The ParseQueryString method uses UTF8 format to parse the query string In the returned NameValueCollection, URL-encoded characters are decoded and multiple occurrences of the same query string parameter are listed as a single entry with a comma separating each value.

重要

ParseQueryStringメソッドは、ユーザー入力を含む可能性があるクエリ文字列を使用します。The ParseQueryString method uses query strings that might contain user input, which is a potential security threat. 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 詳細については、「スクリプトによる攻略の概要」を参照してください。For more information, see Script Exploits Overview.

こちらもご覧ください

ParseQueryString(String, Encoding) ParseQueryString(String, Encoding) ParseQueryString(String, Encoding)

指定した NameValueCollection でクエリ文字列を解析して Encoding に変換します。Parses a query string into a NameValueCollection using the specified Encoding.

public:
 static System::Collections::Specialized::NameValueCollection ^ ParseQueryString(System::String ^ query, System::Text::Encoding ^ encoding);
public static System.Collections.Specialized.NameValueCollection ParseQueryString (string query, System.Text.Encoding encoding);
static member ParseQueryString : string * System.Text.Encoding -> System.Collections.Specialized.NameValueCollection

パラメーター

query
String String String String

解析するクエリ文字列。The query string to parse.

encoding
Encoding Encoding Encoding Encoding

使用する EncodingThe Encoding to use.

戻り値

クエリ パラメーターと値の NameValueCollectionA NameValueCollection of query parameters and values.

例外

querynullです。query is null.

- または --or- encodingnullです。encoding is null.

注釈

返されるNameValueCollectionURL でエンコードされた文字をデコードし、同じクエリ文字列パラメーターの複数の発生は、それぞれの値を区切るコンマを 1 つのエントリとして表示されます。In the returned NameValueCollection, URL-encoded characters are decoded and multiple occurrences of the same query string parameter are listed as a single entry with a comma separating each value.

重要

ParseQueryStringメソッドは、ユーザー入力を含む可能性があるクエリ文字列を使用します。The ParseQueryString method uses query strings that might contain user input, which is a potential security threat. 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 詳細については、「スクリプトによる攻略の概要」を参照してください。For more information, see Script Exploits Overview.

こちらもご覧ください

適用対象