Использование url-кода
Я попробовал использовать url_encode Рубина (doc здесь.)
Он кодирует http://www.google.com
как http%3A%2F%2Fwww.google.com
. Но оказывается, что я не могу открыть его через браузер. Если да, то какой смысл в этой функции? Для чего он нужен, когда URL, который он кодирует, даже не может быть открыт?
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/