UrlEncode через консольное приложение?

Вложенный класс является очень общим термином: каждый класс, который не является верхним, представляет собой вложенный класс. Внутренний класс - это нестатический вложенный класс. Джозеф Дарси написал очень приятное объяснение о Nested, Inner, Member и Top-Level Classes .

61
задан Michał Powaga 29 February 2012 в 19:35
поделиться

7 ответов

Я не парень.NET, но, не можете Вы использовать:

HttpUtility.UrlEncode Method (String)

, Который описан здесь:

HttpUtility. Метод UrlEncode (Строка) на MSDN

72
ответ дан Crab Bucket 24 November 2019 в 17:00
поделиться

Вы захотите использовать

System.Web.HttpUtility.urlencode("url")

, Удостоверяются, что у Вас есть system.web как одна из ссылок в Вашем проекте. Я не думаю, что это включено как ссылка по умолчанию в консольных приложениях.

6
ответ дан Michał Powaga 24 November 2019 в 17:00
поделиться

Попытайтесь использовать метод UrlEncode в классе HttpUtility.

  1. http://msdn.microsoft.com/en-us/library/system.web.httputility.urlencode.aspx
4
ответ дан Patrik Svensson 24 November 2019 в 17:00
поделиться

Я столкнулся с этой проблемой сам, и а не добавьте Систему. Веб-блок к моему проекту, я записал класс для кодирования/декодирования URL (его довольно простое, и я сделал некоторое тестирование, но не много). Я включал исходный код ниже.: оставьте комментарий наверху при многократном использовании этого не обвиняйте меня, если он повреждается, извлеките уроки из кода.

''' <summary>
''' URL encoding class.  Note: use at your own risk.
''' Written by: Ian Hopkins (http://www.lucidhelix.com)
''' Date: 2008-Dec-23
''' </summary>
Public Class UrlHelper
    Public Shared Function Encode(ByVal str As String) As String
        Dim charClass = String.Format("0-9a-zA-Z{0}", Regex.Escape("-_.!~*'()"))
        Dim pattern = String.Format("[^{0}]", charClass)
        Dim evaluator As New MatchEvaluator(AddressOf EncodeEvaluator)

        ' replace the encoded characters
        Return Regex.Replace(str, pattern, evaluator)
    End Function

    Private Shared Function EncodeEvaluator(ByVal match As Match) As String
    ' Replace the " "s with "+"s
        If (match.Value = " ") Then
            Return "+"
        End If
        Return String.Format("%{0:X2}", Convert.ToInt32(match.Value.Chars(0)))
    End Function

    Public Shared Function Decode(ByVal str As String) As String
        Dim evaluator As New MatchEvaluator(AddressOf DecodeEvaluator)

        ' Replace the "+"s with " "s
        str = str.Replace("+"c, " "c)

        ' Replace the encoded characters
        Return Regex.Replace(str, "%[0-9a-zA-Z][0-9a-zA-Z]", evaluator)
    End Function

    Private Shared Function DecodeEvaluator(ByVal match As Match) As String
        Return "" + Convert.ToChar(Integer.Parse(match.Value.Substring(1), System.Globalization.NumberStyles.HexNumber))
    End Function
End Class
3
ответ дан 24 November 2019 в 17:00
поделиться

Kibbee предлагает реальный ответ. Да, HttpUtility. UrlEncode является правильным методом для использования, но это не будет доступно по умолчанию для консольного приложения. Вы должны добавлять ссылку на Систему. Сеть. Чтобы сделать это,

  1. В Вашем проводнике решения, щелкает правой кнопкой по ссылкам
  2. , Выбирают "add reference"
  3. В диалоговом окне "Add Reference", использование, которое вкладка
  4. .NET Прокручивает вниз к Системе. Сеть, выберите это и совершите нападки хорошо

ТЕПЕРЬ, можно использовать метод UrlEncode. Вы все еще захотите добавить,

Система использования. Сеть

наверху Вашего консольного приложения или использования полное пространство имен при вызове метода,

Система. Сеть. HttpUtility. UrlEncode (someString)

2
ответ дан Anjisan 24 November 2019 в 17:00
поделиться

HttpUtility. UrlEncode ("URL") в Системе. Сеть.

1
ответ дан Vaibhav 24 November 2019 в 17:00
поделиться

используйте статический HttpUtility. Метод UrlEncode.

1
ответ дан TheSmurf 24 November 2019 в 17:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: