Загрузка youtube-dl останавливается в плейлисте при отсутствии видео

Swift 4:

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

Apple предлагает этот метод класса, но не сообщает о том, какой вид протокола RCF следует .

var escapedString = originalString.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)!

После этого полезного инструмента вы должны гарантировать кодирование этих символов для ваших параметров:

  • $ (знак доллара) становится % 24
  • & amp; (Амперсанд) становится% 26
  • + (Плюс) становится% 2B
  • , (Comma) становится% 2C
  • : (Colon) становится% 3A
  • ; (Полуколон) становится% 3B
  • = (Равно) становится% 3D
  • ? (Question Mark) становится% 3F
  • @ (Commercial A / At) становится% 40

Другими словами, говоря о кодировке URL, вы должны следовать за Протокол RFC 1738 .

И Swift не распространяется на кодировку символа +, но он хорошо работает с этими тремя @:? chars.

Итак, чтобы правильно кодировать каждый ваш параметр, параметра .urlHostAllowed недостаточно, вы также должны добавить специальные символы, например:

encodedParameter = parameter.replacingOccurrences(of: "+", with: "%2B")

Надеемся, что это помогает кому-то, кто сходит с ума, чтобы найти эту информацию.

1
задан user3720435 16 January 2019 в 16:05
поделиться

1 ответ

Я бы добавил их до -f

-i, --ignore-errors Продолжить при ошибках загрузки, например, чтобы пропустить недоступные видео в списке воспроизведения

-c, --continue Принудительное возобновление частично загруженных файлов. По умолчанию youtube-dl возобновит загрузку, если это возможно.

0
ответ дан 1957classic 16 January 2019 в 16:05
поделиться