Как начать использовать Curl и почему: практический ввод

1656524050 kak nachat ispolzovat curl i pochemu prakticheskij vvod

Лучано Стрика

7T-1Ovw5prQKYXj9z1kBWfRLv9xXDmRLax9T
Прекрасный зверь для хорошей программы. Источник: Pixabay

Независимо от того, это тестирование результатов API перед развертыванием в производство, или просто получение ответа с веб-сайта (например, чтобы проверить, не работает ли), Curl практически везде присутствует.

Как исследователю данных, мне приходилось время от времени использовать его. Однако чаще всего я просто заменял параметры из скопированной и вставленной curl команды, которая обходила канал Slack моей команды.

Я решил, что мне нужно лучше понять этот мощный инструмент, если я хочу использовать его в полной мере и теперь я здесь, чтобы поделиться некоторыми из самых интересных вещей, которые я нашел в этом учебнике по curl.

Если у вас есть советы или подсказки, которые вы хотите добавить, пожалуйста, сделайте это в комментариях, поскольку мое понимание этого инструмента все еще находится на начальной стадии.

Локон: Чем он полезен?

Curl – это инструмент командной строки, который позволяет нам выполнять HTTP-запросы из оболочки. Он также охватывает многие другие протоколы, например, FTP, хотя они выходят за рамки этого учебника.

Его название означает «URL-адрес клиента», и его разработал шведский разработчик Даниэль Стенберг. Это проект с открытым исходным кодом, и его можно найти здесь, если вы захотите присоединиться.

Вы можете вызвать его из любимого терминала, и обычно он предварительно установлен в ОС на базе Linux. В противном случае его обычно можно скачать через apt-get на Linux и заварить на Mac.

Вызов метода GET

В своей простой форме команда curl будет выглядеть так:

curl http://www.dataden.tech

Типичным поведением curl является вызов метода HTTP GET по указанному URL-адресу. Таким образом, результатом программы для этой команды будет весь текст ответа HTTP (в данном случае HTML), который сайт возвращает в GET, который будет записан, как указано на стандартный выход.

Если вы хотите прочитать ответ, не выходя из оболочки, я бы рекомендовал по крайней мере переместить его в a меньше команду, чтобы иметь возможность легко прокручивать исходные данные.

Много раз мы хотим отправить содержимое ответа в файл. Это делается с помощью аргумент, вот такой:

curl -o output.html www.dataden.tech

что эквивалентно:

curl www.dataden.tech > output.html

По желанию, вы можете указать URL сайта, на который вы хотите вызвать curl, с помощью a -s аргумент, вот такой:

curl -s http://www.dataden.tech

что позволяет изменить порядок собственных аргументов.

Вы также можете использовать — Дальше чтобы указать более одного URL-адреса, хотя официальный документ советует вместо этого вызвать curl для каждого URL-адреса в другой команде.

Выполнение POST к URL-адресу

Иногда вам нужно проверить, правильно ли работает API, и обычно для этого нужно отправить ему аргументы.

Обычно мы делаем это посредством метода POST, передавая некоторый JSON со всеми необходимыми параметрами. Существует много способов сделать это с помощью завивки.

Вы можете передать значение своих аргументов следующим образом:

curl --data "name=John&surname=Doe" http://www.dataden.tech

Или как обычный JSON:

curl --data '{"name":"John","surname":"Doe"}' \http://www.dataden.tech

Использование – данные является эквивалентным использованию -d, и оба автоматически изменят метод на POST. Однако мы также можем использовать -X флаг (– запрос), чтобы указать, какой метод мы хотим вызвать:

curl -X "POST" \-d "name=John&surname=Doe" http://www.example.com

Иногда нам просто нужно быстро проверить, работает ли сайт, не желая загружать весь потенциально трудный ответ. В других случаях заголовки сохраняют важные конфигурации.

Эти два варианта использования также разрешаются с помощью curl. Мы можем использовать -включать () параметр для включения заголовков, и -руководитель ( -это большое ‘i’-), чтобы включать только заголовки (вызывая метод HEAD).

Установите значение вашего агента пользователя

Теперь, когда я рассмотрел основы, позвольте мне рассказать вам о некоторых из самых крутых вещей, которые я нашел, что мы можем сделать из curl.

The пользователь-агент Аргумент позволяет указать, какие устройства и версии обозревателя вы используете, если это приведет к другому отображению сайта.
Благодаря этому вы сможете увидеть мобильную версию сайта со своего ноутбука или наоборот.

С точки зрения безопасности это, вероятно, вызывает некоторые проблемы. До сих пор я не знал, как легко притворяться, что пользуешься другим устройством (даже не используя виртуальную машину), и, работая в области предотвращения мошенничества, я могу понять, почему это может быть проблемой.

Учитывая это, если вы используете это навсегда, это отличный способ увидеть, как выглядит сайт с планшета, мобильного устройства или ноутбука, и это лишь некоторые из них.

Вот пример прямо из официальной документации (хотя списки пользовательских агентов легко доступны в Интернете).

curl --user-agent "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" www.example.com

Определение времени подключения с помощью Curl

Другой причиной, почему я начал узнавать больше о curl, было то, что я хотел узнать, сколько времени нужно, чтобы мой сайт отвечал.

Хотя базовая документация этого не охватывает, немного поиск в Google обнаружил эту команду, которую я считаю очень полезной:

curl -w "%{time_total}\n" -o /dev/null -s www.example.com

Это просто выведет общее время, необходимое для получения ответа из данного домена.

В целом, -w (–записать) argument принимает специальную строку форматирования и заполняет зарезервированные ключевые слова с разными свойствами ответа отформатированным способом. Все ключевые слова и их значения доступны на странице руководства команды.

Дальнейшее чтение

Вот несколько ссылок, которые могут оказаться интересными, если вы хотите узнать больше об этой широкой теме:

Чтобы сделать вывод

Надеюсь, вы нашли это поступление полезным, и вы оставите этот учебник, зная по крайней мере основы этой удобной команды.

Как я уже говорил раньше, я все еще учусь и буду признателен за любые другие интересные знания об использовании программы. То же касается любого отзыва о том, что я написал до сих пор.

Если я допустил ошибки или есть какая-то часть, которую, по вашему мнению, я мог бы сформулировать более четко, пожалуйста, сообщите мне.

Надеюсь, что скоро увидимся снова, счастливого кодирования!

Следите за мной на Medium и Twitter, чтобы быть в курсе моих учебников, советов и статей. Подумайте о том, чтобы поделиться этой статьей с другом веб-разработчика, если она вам понравилась (или как пассивно агрессивный способ приказать им выучить curl).

Первоначально опубликовано на www.dataden.tech 7 октября 2018 года.

Добавить комментарий

Ваш адрес email не будет опубликован.