curl для работы с ftp
Заходим на ftp и смотрим что там есть:
curl ftp://myftpsite.com --user myname:mypassword
Скачиваем файл с сервера:
curl ftp://myftpsite.com/mp3/mozart_piano_sonata.zip --user myname:mypassword -o mozart_piano_sonata.zip
Закачиваем файл на сервер:
curl -T koc_dance.mp3 ftp://myftpsite.com/mp3/ --user myname:mypassword
Смотрим файлы в поддиректориях:
curl ftp://myftpsite.com/mp3/ --user myname:mypassword
Листиниг только директорий:
curl ftp://myftpsite.com --user myname:mypassword -s | grep ^d
Удаляем файл с сервера. Подтверждения не спрашивает!!:
Curl не умеет сам удалять файлы с ftp, поэтому в данном случае - мы отправляем текст FTP-команды с помощью -X.
curl ftp://myftpsite.com/ -X 'DELE mp3/koc_dance.mp3' --user myname:mypassword
curl и аутентификация kerberos
Вот кратко написано, что нужно знать о том, как curl аутентифицируется с помощью kerberos: https://stackoverflow.com/a/38664954
Если на хосте с которого мы обращаемся настроен kerberos и пользователь аутентифицирован (есть переменная KRB5CCNAME, которая указывает на keytab и в нем билет), то подключаться можно так:
curl -d "$REQUEST" --header "Content-Type: text/xml" --negotiate -u : $URL
То есть указываем тип аутентификации - negotiate (параметр –negotiate) и пользователь (параметр -u) с пустым именем а паролем - : .
curl через http-прокси
Работаем через proxy с аутентификацией на прокси с помощью kerberos:
curl --verbose -xsrv-proxy.domain.local:3128 --proxy-negotiate -U: https://ya.ru
Через прокси с NTLM-аутентификацией:
curl --proxy-ntlm --proxy-user DOMAINNAME\\username:p\@ssw0rd --proxy srv-proxy.domain.local:3128 https://ya.ru
curl и аутентификация с помощью клиентского сертификата
Допустим у нас есть сертификат в PKCS12. Мы извлекаем из него его составляющие вот так: Конвертация клиентского сертификата из PKCS12 в pem а затем используем для доступа к ресурсу:
curl --key ./key.pem --cacert ./ca.pem --cert ./client.pem https://secret.server.com/secret/url
Discussion