Это зависит от правил кодирования, за которыми следует ваш сервер.
Apple предлагает этот метод класса, но не сообщает о том, какой вид протокола RCF следует .
var escapedString = originalString.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)!
После этого полезного инструмента вы должны гарантировать кодирование этих символов для ваших параметров:
Другими словами, говоря о кодировке URL, вы должны следовать за Протокол RFC 1738 .
И Swift не распространяется на кодировку символа +, но он хорошо работает с этими тремя @:? chars.
Итак, чтобы правильно кодировать каждый ваш параметр, параметра .urlHostAllowed
недостаточно, вы также должны добавить специальные символы, например:
encodedParameter = parameter.replacingOccurrences(of: "+", with: "%2B")
Надеемся, что это помогает кому-то, кто сходит с ума, чтобы найти эту информацию.
Я бы добавил их до -f
-i, --ignore-errors Продолжить при ошибках загрузки, например, чтобы пропустить недоступные видео в списке воспроизведения
-c, --continue Принудительное возобновление частично загруженных файлов. По умолчанию youtube-dl возобновит загрузку, если это возможно.