curl - garevna/js-course GitHub Wiki
Утилита командной строки для передачи данных по URL
| 🔗usage |
|---|
Синтаксис:
$ curl опции ссылка
|
По умолчанию содержимое запрошенного ресурса будет отправлено на стандартный вывод
☕ 1️⃣
$ curl https://github.com
|
☕ 2️⃣
$ curl curl https://garevna.github.io/js-samples/js/index08.js
|
Сохранить загруженный файл в текущую папку под тем же именем, что и на сервере
☕ 3️⃣
$ curl -O https://garevna.github.io/js-samples/js/index08.js
|
После выполнения этой операции в текущей папке появится новый файл index08.js
Сохранить загруженный файл в текущую папку под указанным именем
☕ 4️⃣
$ curl -o index-1.html https://garevna.github.io/js-samples/index.html
|
После выполнения этой операции в текущей папке появится новый файл index-1.html
Далее воспользуемся бесплатным тестовым сервером
для изучения работы curl с различными опциями
с HTTP-глаголами GET и POST
Вам следует зарегистрироваться на этом ресурсе, чтобы получить собственный "туалет" для экспериментов
В дальнейших упражнениях garevna нужно будет заменить на идентификатор вашего "туалета"
Эта опция нужна для отправки данных на сервер методом POST
☕ 5️⃣
$ curl -d "name=garevna&subject=testing" http://ptsv2.com/t/garevna/post
|
Обратите внимание на заголовки ( Headers )
Content-Type application/x-www-form-urlencoded
Мы отправили данные формы как пары ключ=значение, соединенные знаком &:
"name=garevna&subject=testing"
Сервер автоматически распознал тип контента и установил значение заголовка Content-Type
Эта опция позволяет устанавливать заголовки запроса
Например, мы можем передать в POST-запросе информацию о типе передаваемого контента
Заголовком по умолчанию для простого POST-запроса будет
Content-Type: application / x-www-form-urlencoded
Изменим это значение
Укажем, что мы передаем данные в json-формате:
☕ 6️⃣
$ curl -d '{ name:Irina }' -H 'Content-Type: application/json' http://ptsv2.com/t/garevna/post
|
мы передали простой объект { name:Irina }
в заголовке
Content-Type: application/json'
мы указали, что данные передаются в формате json-строки
☕ 7️⃣
Отправим ранее сохраненный файл index-1.html на сервер http://ptsv2.com,
указав в заголовке Content-Type, что мы отправляем обычный текстовый файл ( text/plain ):
curl -d @index-1.html -H 'Content-Type: text/plain' http://ptsv2.com/t/garevna/post
|
Для авторизации запроса на сервере нужно передать с запросом имя пользователя и пароль
curl поддерживает login и пароль в URL-адресах:
$ curl http://name:[email protected]/full/path/to/file
|
С помощью опции -u ( --user ) можно передать логин:пароль отдельно:
$ curl --user garevna:garevna -d @index-1.html -H 'Content-Type: text/plain' http://ptsv2.com/t/garevna/post
|