Прочитать на английском

Поделиться через


HttpUtility Класс

Определение

Предоставляет методы для кодирования и декодирования URL-адресов при обработке веб-запросов. Этот класс не наследуется.

public sealed class HttpUtility
Наследование
HttpUtility

Примеры

В следующем примере кода показано использование UrlEncodeметодов HttpUtility , UrlDecode и ParseQueryString класса .

<%@ 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();
        foreach (String s in qscoll.AllKeys)
        {
            sb.Append(s + " - " + qscoll[s] + "<br />");
        }

        // Write the results to the appropriate labels.
        ParseOutput.Text = sb.ToString();
        UrlRawOutput.Text = currurl;
        UrlEncodedOutput.Text = HttpUtility.UrlEncode(currurl);
        UrlDecodedOutput.Text = HttpUtility.UrlDecode(currurl);
    }
</script>


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpUtility Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      The raw url is: <br />
      <asp:Label  id="UrlRawOutput"
                  runat="server" />
      <br /><br />
      The url encoded is: <br />
      <asp:Label  id="UrlEncodedOutput"
                  runat="server" />
      <br /><br />
      The url decoded is: <br />
      <asp:Label  id="UrlDecodedOutput"
                  runat="server" />
      <br /><br />
      The query string NameValueCollection is: <br />
      <asp:Label  id="ParseOutput"
                  runat="server" />
    </div>
    </form>
</body>
</html>

Комментарии

Класс HttpUtility используется внутри HttpServerUtility класса , методы и свойства которого предоставляются через встроенный объект ASP.NET Server . Кроме того, HttpUtility класс содержит служебные методы кодирования и декодирования, недоступные Serverиз .

Чтобы кодировать или декодировать значения вне веб-приложения, используйте класс WebUtility.

Конструкторы

HttpUtility()

Инициализирует новый экземпляр класса HttpUtility.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
HtmlAttributeEncode(String)

Минимально преобразует строку в строку в формате HTML.

HtmlAttributeEncode(String, TextWriter)

Минимально преобразует строку в строку в кодировке HTML и отправляет кодированную строку в выходной поток TextWriter.

HtmlDecode(String)

Преобразует строку, преобразованную в кодировку HTML для передачи по протоколу HTTP, в декодированную строку.

HtmlDecode(String, TextWriter)

Преобразует строку в формате HTML в декодированную строку и отправляет декодированную строку в выходной поток TextWriter.

HtmlEncode(Object)

Преобразует строковое представление объекта в HTML-кодированную строку и возвращает закодированную строку.

HtmlEncode(String)

Преобразует строку в строку в кодировке HTML.

HtmlEncode(String, TextWriter)

Преобразует строку в строку в кодировке HTML и возвращает выходные данные в виде потока выходных данных TextWriter.

JavaScriptStringEncode(String)

Кодирует строку.

JavaScriptStringEncode(String, Boolean)

Кодирует строку.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ParseQueryString(String)

Преобразует строку запроса в NameValueCollection с использованием кодировки UTF8.

ParseQueryString(String, Encoding)

Преобразует строку запроса в NameValueCollection с использованием указанного Encoding.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
UrlDecode(Byte[], Encoding)

Преобразует массив байтов в кодировке URL в декодированную строку с помощью указанного объекта декодирования.

UrlDecode(Byte[], Int32, Int32, Encoding)

Преобразует массив байтов в URL-кодировке в декодированную строку с помощью указанного объекта кодирования, начиная с указанной позиции в массиве и до указанного числа байтов.

UrlDecode(String)

Преобразует строку, закодированную для передачи в URL-адресе, в декодированную строку.

UrlDecode(String, Encoding)

Преобразует строку в кодировке URL в декодированную строку с помощью указанного объекта кодирования.

UrlDecodeToBytes(Byte[])

Преобразует массив байтов в URL-кодировке в декодированный массив байтов.

UrlDecodeToBytes(Byte[], Int32, Int32)

Преобразует массив байтов в URL-кодировке в декодированный массив байтов, начиная с указанной позиции в массиве и до указанного количества байтов.

UrlDecodeToBytes(String)

Преобразует строку в кодировке URL в декодированный массив байтов.

UrlDecodeToBytes(String, Encoding)

Преобразует строку в кодировке URL в декодированный массив байтов с помощью указанного объекта декодирования.

UrlEncode(Byte[])

Преобразует массив байтов в закодированную строку URL-адреса.

UrlEncode(Byte[], Int32, Int32)

Преобразует массив байтов в строку URL-кодировки, начиная с указанной позиции в массиве и до указанного количества числа байтов.

UrlEncode(String)

Кодирует строку URL-адреса.

UrlEncode(String, Encoding)

Кодирует строку URL-адреса, используя указанный объект кодирования.

UrlEncodeToBytes(Byte[])

Преобразует массив байтов в массив байтов в URL-кодировке.

UrlEncodeToBytes(Byte[], Int32, Int32)

Преобразует массив байтов в массив байтов в URL-кодировке, начиная с указанной позиции в массиве и до указанного количества байтов.

UrlEncodeToBytes(String)

Преобразует строку в кодировке URL в массив байтов.

UrlEncodeToBytes(String, Encoding)

Преобразует строку в массив байтов в кодировке URL-адреса с использованием указанного объекта кодирования.

UrlEncodeUnicode(String)
Устаревшие..

Преобразует строку в строку Юникода.

UrlEncodeUnicodeToBytes(String)
Устаревшие..

Преобразует строку Юникода в массив байтов.

UrlPathEncode(String)

Не использовать; предназначено исключительно для совместимости браузеров. Используйте ключевое слово UrlEncode(String).

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

См. также раздел