Квадратные скобки разрешены в URL?

Я думаю, что получил то, что искал.

data.train <- read.table("Assign2.WineComplete.csv",sep=",",header=T)
fit <- rpart(quality ~ ., method="class",data=data.train)
plot(fit)
text(fit, use.n=TRUE)
summary(fit)
36
задан olibre 4 July 2017 в 08:19
поделиться

8 ответов

RFC 3986 указывает

Хост, идентифицированный Интернетом. Литеральный адрес протокола, версия 6 [RFC3513] или новее, выделяется заключив литерал IP в квадратные скобки («[» и «]»). это это единственное место, где квадратная скобка символы разрешены в URI синтаксис.

Таким образом, вы не должны видеть такие URI в теории, поскольку они должны поступать в закодированном виде.

39
ответ дан 27 November 2019 в 05:52
поделиться

Любой браузер или программное обеспечение веб-доступа, которое принимает URL и не выдает исключение, когда специальные символы представлены, как почти гарантируют, закодируют специальные символы негласно. Фигурные скобки, квадратные скобки, пробелы, и т.д. у всех есть специальные закодированные способы представить их, чтобы не произвести конфликты. Согласно предыдущим ответам, самый безопасный способ иметь дело с ними к URL - кодируют их перед передаванием их к чему-то, что попытается разрешить URL.

5
ответ дан 27 November 2019 в 05:52
поделиться

В значительной степени единственные символы, не позволенные в путях, являются # и? поскольку они показывают конец пути.

uri rfc будет иметь категорический ответ:

http://www.ietf.org/rfc/rfc1738.txt

Небезопасный:

Символы могут быть небезопасными по ряду причин. Пробел небезопасен, потому что значительные пробелы могут исчезнуть, и незначительные пробелы могут быть представлены, когда URL записываются или набираются или подвергаются обработке программ обработки текстов. Символы "<"; и">" небезопасны, потому что они используются в качестве разделителей вокруг URL в произвольном тексте; метка кавычки (""") используется для разграничивания URL в некоторых системах. Символ "#" небезопасен и должен всегда кодироваться, потому что он используется во Всемирной паутине и в других системах для разграничивания URL от идентификатора фрагмента/привязки, который мог бы следовать за ним. Символьный "%" небезопасен, потому что он используется для кодировки других символов. Другие символы небезопасны, потому что шлюзы и другие транспортные агенты, как известно, иногда изменяют такие символы. Эти символы "{", "}", "|", "\", "^", "~ ", "[", "]", и" '".

Все небезопасные символы должны всегда кодироваться в URL. Например, символ "#" должен быть закодирован в URL даже в системах, которые обычно не имеют дело с фрагментом или идентификаторами привязки, так, чтобы, если URL копируется в другую систему, которая использует их, не было необходимо изменить кодирование URL.

ответ - то, что они должны быть закодированным шестнадцатеричным числом, но знание закона postel, большинство вещей примет их дословно.

4
ответ дан 27 November 2019 в 05:52
поделиться

Для использования класса свободного городского населения HttpClient Вы хотите изучить org.apache.commons.httpclient.util. Класс URIUtil, конкретно кодировать () метод. Используйте это к URI - кодирует URL прежде, чем попытаться выбрать его.

2
ответ дан 27 November 2019 в 05:52
поделиться

Лучше всего к URL кодируют тех, поскольку они ясно не поддерживаются во всех веб-серверах. Иногда, даже когда существует стандарт, не все следуют за ним.

1
ответ дан 27 November 2019 в 05:52
поделиться

Согласно спецификация URL, квадратные скобки не являются допустимыми символами URL.

Вот соответствующие отрывки:

"национальные" символы и символы "пунктуации" не появляются ни в каком производстве и поэтому не могут появиться в URL.
национальный {|} | vline | [|] | \| ^ | ~
пунктуация < |>

1
ответ дан 27 November 2019 в 05:52
поделиться

I know this question is a bit old, but I just wanted to note that PHP uses brackets to pass arrays in a URL.

http://www.example.com/foo.php?bar[]=1&bar[]=2&bar[]=3

In this case $_GET['bar'] will contain array(1, 2, 3).

8
ответ дан 27 November 2019 в 05:52
поделиться

StackOverflow, похоже, не кодирует их:

https://stackoverflow.com/search?q=square+brackets+ [url]

2
ответ дан 27 November 2019 в 05:52
поделиться
Другие вопросы по тегам:

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