Использование url-кода


Я попробовал использовать url_encode Рубина (doc здесь.)

Он кодирует http://www.google.com как http%3A%2F%2Fwww.google.com. Но оказывается, что я не могу открыть его через браузер. Если да, то какой смысл в этой функции? Для чего он нужен, когда URL, который он кодирует, даже не может быть открыт?

2 3

2 ответа:

Обычно используется метод HTTPGET , в котором требуется строка запроса.

Строка Запроса 1:

valudA=john&valueB=john2

Фактическое значение сервера get:

  • ValueA : "Джон"

  • ValueB : "john2"

Url_encode используется для того, чтобы пара ключ-значение позволяла хранить строку, которая содержит некоторый не-ASCII кодированный символ, такой как пробел и специальный символ.

Предположим, что valueB будет хранить мое имя, код 4 j, вам нужно закодировать его, потому что есть некоторые пробелы.

url_encode("code 4 j")
code%204%20j

Строка запроса 2:

ValueA=john&valueB=code%204%20j

Фактическое значение сервера get:

  • valueA: "Джон"
  • valueB: "код 4 j"

Можно использовать url_encode для кодирования, например, ключей/значений запроса GET.

Вот пример того, как выглядит URL поискового запроса SO после кодировки:

Https://stackoverflow.com/questions/tagged/c%23+или + .net+или+asp.net

Как вы можете видеть, кодировка url-адреса применяется только к последней части URL-адреса, после последней косой черты.

В общем случае вы не можете использовать url_encode на весь URL, или вы также будете кодировать специальные символы в обычном URL, например :// в вашем примере.

Вы можете проверить учебник, который объясняет, как это работает здесь: http://www.permadi.com/tutorial/urlEncoding/