Мне нужно скачать файл .xls с Windows cURL, и у меня возникла проблема с URL этого файла, поскольку он содержит специальный символ "Č".

Этот URL-адрес: http://www.ccs.cz/data/141001_Seznam_ČStxt14196.xls

Я пытаюсь сделать это с помощью этой команды в командной строке Windows или Gitbash:

curl "http://www.ccs.cz/data/141001_Seznam_ČStxt14196.xls" > file.xls

В результате я загружаю файл HTML, который содержит информацию "эта страница не существует". Я не могу закодировать URL в нужную форму, которая возвращает мне этот файл xls.

Большое спасибо за ваши советы.

1 ответ1

0

Это работает в PowerShell в Windows 8.1. Он также должен быть действительным для PowerShell 3.0 или новее в Windows 7 SP1 или новее.

Invoke-WebRequest "http://www.ccs.cz/data/141001_Seznam_ČStxt14196.xls" -OutFile '141001_Seznam_ČStxt14196.xls'

Invoke-WebRequest является эквивалентом PowerShell для curl. Поскольку PowerShell обрабатывает специальные символы немного более изящно, чем CMD, кодирование URL не требуется. Однако, поскольку PowerShell также предоставляет доступ к классам в базовом .NET Framework, вы можете использовать что-то вроде [URI]::EscapeDataString() для кодирования, когда это необходимо.

Для получения дополнительной информации см. Следующие статьи MSDN/TechNet:

Invoke-WebRequest
Класс URI

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .