Мы можем использовать и в URL?

Вот измененный ответ Jon Skeet для разрешения больше, чем "один уровень":

static IEnumerable Flatten(IEnumerable enumerable)
{
    foreach (object element in enumerable)
    {
        IEnumerable candidate = element as IEnumerable;
        if (candidate != null)
        {
            foreach (object nested in Flatten(candidate))
            {
                yield return nested;
            }
        }
        else
        {
            yield return element;
        }
    }
}

правовая оговорка: Я не знаю C#.

то же в Python:

#!/usr/bin/env python

def flatten(iterable):
    for item in iterable:
        if hasattr(item, '__iter__'):
            for nested in flatten(item):
                yield nested
        else:
            yield item

if __name__ == '__main__':
    for item in flatten([1,[2, 3, [[4], 5]], 6, [[[7]]], [8]]):
        print(item, end=" ")

Это печатает:

1 2 3 4 5 6 7 8 

14
задан Joel 7 November 2009 в 17:02
поделиться

4 ответа

Да, вы можете использовать его просто в своем URL-пути следующим образом:

http://example.com/Alice&Bob

Только если вы хотите использовать его в запросе, вам необходимо закодировать его с помощью % 26 :

http://example.com/?arg=Alice%26Bob

В противном случае он будет интерпретирован как разделитель аргументов при интерпретации как application / x-www-form-urlencoded .

Подробнее см. RFC 3986 .

26
ответ дан 1 December 2019 в 07:12
поделиться

URL-адрес обычно имеет форму

scheme://host/some/path/to/file?query1=value&query2=value

Поэтому не рекомендуется использовать его в URL-адресе, если вы не хотите использовать его для параметров. В противном случае вы должны использовать% 26, например,

http://www.example.com/hello%26world

. В результате путь будет отправлен как hello & world. Есть и другие символы, которые необходимо экранировать при использовании вне контекста в URL. См. Список здесь .

8
ответ дан 1 December 2019 в 07:12
поделиться

закодируйте '&' с помощью & amp; (этот ответ основан на использовании вами тегов)

Если вы спрашиваете, что использовать "&" или "и "при регистрации имени вашего URL-адреса я бы использовал" и ".

РЕДАКТИРОВАТЬ: Как упоминалось в комментариях" & является сущностью символа HTML, а не сущностью символа URI. Помещая это в URI, у вас все еще есть амперсанд персонаж и дополнительные посторонние символы ". Я начал отвечать, прежде чем полностью понял ваш вопрос.

2
ответ дан 1 December 2019 в 07:12
поделиться

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

2
ответ дан 1 December 2019 в 07:12
поделиться
Другие вопросы по тегам:

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