Curl для windows: Как работать с curl в Windows / Хабр

Содержание

Как работать с curl в Windows / Хабр


Curl (client URL) — это инструмент командной строки на основе библиотеки libcurl для передачи данных с сервера и на сервер при помощи различных протоколов, в том числе HTTP, HTTPS, FTP, FTPS, IMAP, IMAPS, POP3, POP3S, SMTP и SMTPS. Он очень популярен в сфере автоматизации и скриптов благодаря широкому диапазону функций и поддерживаемых протоколов. В этой статье мы расскажем, как использовать curl в Windows на различных примерах.

▍ Установка в Windows


Во всех современных версиях Windows, начиная с Windows 10 (версия 1803) и Server 2019, исполняемый файл curl поставляется в комплекте, поэтому ручная установка не требуется. Чтобы определить местоположение curl и его версию в системе, можно использовать следующие команды:

where curl
curl --version

Определение местоположения и версии curl в Windows

Команда curl —version также выводит список протоколов и функций, поддерживаемых текущей версией curl. Как видно из показанного выше скриншота, к использованию встроенной утилиты curl всё готово. Если вместо этого отображается сообщение об ошибке, curl может быть недоступен потому, что вы используете более раннюю версию Windows (например, Windows 8.1 или Server 2016). В таком случае вам потребуется установить curl в Windows вручную.

▍ Синтаксис curl


Команда curl использует следующий синтаксис:

curl [options...] [url]


Инструмент поддерживает различные опции, которые мы рассмотрим ниже. Как и в любом инструменте командной строки, вы можете использовать для получения справки команду curl —help.

Получение справки при помощи команды curl

Для получения подробной справки можно использовать команду curl —help all. Справка разделена на категории, поэтому при помощи curl —help category можно просмотреть все темы.

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

▍ HTTP-запрос GET


При использовании curl с URL и без указания опций запрос по умолчанию использует метод GET протокола HTTP. Попробуйте выполнить такую команду:

curl https://4sysops.com


Приведённая выше команда по сути эквивалентна curl —request GET 4sysops.com, отправляющей запрос GET к 4sysops.com по протоколу HTTPS. Чтобы указать версию протокола HTTP (например, http/2), используйте опцию —http2:

curl --http2 https://4sysops.com


В случае URL, начинающихся с HTTPS, curl сначала пытается установить соединение http/2 и автоматически откатывается к http/1.1, если это не удаётся. Также он поддерживает другие методы, например, HEAD, POST, PUT и DELETE. Для использования этих методов вместе с командой curl нужно указать опцию —request (или -X), за которой следует указание метода. Стоит заметить, что список доступных методов зависит от используемого протокола.

▍ Получение информации об удалённом файле


Если вы администратор, то иногда вам могут быть интересны только заголовки HTTP. Их можно получить при помощи опции —head (или -I). Иногда URL может перенаправлять пользователя в другую точку. В таком случае опция —location (или -L) позволяет curl выполнять перенаправления. Также можно использовать —insecure (или -k), чтобы разрешить незащищённые подключения и избежать ошибок с сертификатом TLS в случае, если целевой URL использует самоподписанный сертификат. Пользуйтесь этой опцией только при абсолютной необходимости. Все эти три опции можно скомбинировать в одну краткую запись, как показано в следующей команде:

curl -kIL 4sysops.com

Опции просмотра заголовков запросов, включения незащищённого соединения и использования перенаправлений

Как можно заметить, такая краткая запись особенно полезна для комбинирования нескольких опций. Приведённая выше команда по сути эквивалентна команде curl —insecure —head —location 4sysops.com.

Опция —head (или -I) также даёт основную информацию об удалённом файле без его скачивания. Как показано на скриншоте ниже, при использовании curl с URL удалённого файла он отображает различные заголовки, дающие информацию об удалённом файле.

curl -IL https://curl.se/windows/dl-7.85.0_5/curl-7.85.0_5-win64-mingw.zip

Использование curl для просмотра основной информации удалённых файлов

Заголовок Content-Length обозначает размер файла (в байтах), Content-Type сообщает о типе медиафайла (например, image/png, text/html), Server обозначает тип серверного приложения (Apache, Gunicorn и так далее), Last-Modified показывает дату последнего изменения файла на сервере, а заголовок Accept-Ranges обозначает поддержку частичных запросов для скачивания от клиента, что по сути определяет возможность продолжения прерванной загрузки.

▍ Скачивание файла


Для скачивания файла и сохранения с тем же именем, что и на сервере, можно использовать curl с опцией —remote-name (или -O). Показанная ниже команда скачивает последнюю версию curl для Windows с официального сайта:

curl -OL https://curl.se/windows/latest.cgi?p=win64-mingw.zip

Скачивание файла с именем по умолчанию и индикатором прогресса

При необходимости для нахождения ресурса добавляется опция -L, разрешающая перенаправления. Если нужно сохранить файл с новым именем, используйте опцию —output (или -o). Кроме того, при использовании команды curl в скрипте может понадобиться отключить индикатор прогресса, что можно сделать при помощи опции —silent (или -s). Эти две опции можно скомбинировать:

curl -sLo curl.zip https://curl.se/windows/latest.cgi?p=win64-mingw.zip

Скачивание файла без индикатора и сохранение под произвольным именем

▍ Продолжение прерванного скачивания


Наличие Accept-Ranges: bytes в заголовке ответа в буквальном смысле обозначает, что сервер поддерживает скачивания с возможностью продолжения. Чтобы продолжить прерванное скачивание, можно использовать опцию —continue-at (или -C), получающую смещение (в байтах). Обычно указывать смещение непросто, поэтому curl предоставляет простой способ продолжения прерванной загрузки:

curl -OLC - https://releases.ubuntu.com/22.04/ubuntu-22.04.1-desktop-amd64.iso

Продолжение прерванного скачивания

Как видно из скриншота, я скачивал iso-файл Ubuntu, но скачивание было прервано. Затем я снова запустил команду curl с опцией -C, и передача продолжилась с того диапазона байтов, на котором была прервана. Знак минус () рядом с -C позволяет curl автоматически определить, как и где продолжить прерванное скачивание.

▍ Аутентификация с Curl


Также Curl поддерживает аутентификацию, что позволяет скачать защищённый файл, предоставив учётные данные при помощи опции —user (or -u), принимающей имя пользователя и пароль в формате username:password. Если не вводить пароль, curl попросит ввести его в режиме no-echo.

curl -u surender -OL https://techtutsonline.com/secretFiles/sample.zip

Скачивание файла с аутентификацией по имени пользователя и паролю

Если вы используете Basic authentication, то необходимо передать имя пользователя и пароль, а значит, воспользоваться защищённым протоколом наподобие HTTPS (вместо HTTP) или FTPS (вместо FTP). Если по каким-то причинам приходится использовать протокол без шифрования, то убедитесь, что вы используете способ аутентификации, не передающий учётные данные в виде простого текста (например, аутентификацию Digest, NTLM или Negotiate).

Также curl поддерживает использование файлов конфигурации .curlrc, _curlrc и .netrc, позволяющих задавать различные опции curl в файле, а затем добавлять файл в команду при помощи опции curl —config (или curl -K), что особенно полезно при написании скриптов.

▍ Выгрузка файла


Опция —upload-file (или -T) позволяет выгружать локальный файл на удалённый сервер. Показанная ниже команда выгружает файл из локальной системы на удалённый веб-сервер по протоколу FTPS:

curl -kT C:\Users\Surender\Downloads\sample1.zip -u testlab\surender ftps://192.168.0.80/awesomewebsite.com/files/

Выгрузка файла на удалённый сервер

Опция -k добавляется для устранения проблем с сертификатами на случай, если веб-сервер использует самоподписанный сертификат. Наклонная черта в конце URL сообщает curl, что конечная точка является папкой. Можно указать несколько имён файлов, например «{sample1.zip,sample2.zip}». Ниже показано, как с помощью одной команды curl можно выгрузить на сервер несколько файлов:

curl -kT sample[1-5].zip -u testlab\surender ftps://192.168.0.80/awesomewebsite.com/files/

Выгрузка нескольких файлов на сервер

▍ Последовательность команд


Как говорилось ранее, curl поддерживает различные методы в зависимости от используемого протокола. Дополнительные команды можно отправлять при помощи —quote (или -Q) для выполнения операции до или после обычной операции curl. Например, можно скачать файл с удалённого сервера по протоколу FTPS и удалить файл с сервера после успешного скачивания. Для этого нужно выполнить следующую команду:

curl -u testlab\surender -kO "ftps://192.168.0.80/awesomewebsite.com/files/sample1.zip" -Q "-DELE sample1.zip"

Удаление файла после успешного скачивания

В показанном выше примере я скачал файл sample1.zip с FTPS-сервера при помощи опции -O. После опции -Q я добавил минус (-) перед командой DELE, что заставляет curl отправить команду DELE sample1.zip сразу после успешного скачивания файла. Аналогично, если вы хотите отправить команду на сервер до выполнения операции curl, используйте плюс (+) вместо минуса.

▍ Изменение user-agent


Информация user-agent сообщает серверу тип клиента, отправляющего запрос. При отправке запроса curl на сервер по умолчанию используется user-agent curl/<version>. Если сервер настроен так, чтобы блокировать запросы curl, можно задать собственный user-agent при помощи опции —user-agent (или -A). Показанная ниже команда отправляет стандартный user-agent Google Chrome:

curl -kIA "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0" https://awesomewebsite.com/files/secretFile.zip

Использование собственного user-agent с командой curl, чтобы избежать блокировки сервером

На показанном выше скриншоте видно, что обычный запрос curl был отклонён веб-сервером (с ответом 403 Forbidden), но при передаче другого user-agent запрос выполняется успешно, возвращая ответ 200 OK.

▍ Отправка куки


По умолчанию запрос curl не отправляет и не сохраняет куки. Для записи куки можно использовать опцию —cookie-jar (или -c), а отправить куки можно опцией —cookie (or -b):

curl -c /path/cookie_file https://awesomewebsite. com/
curl -b /path/cookie_file https://awesomewebsite.com/


Первая команда записывает файл куки, а вторая отправляет куки с запросом curl. Также можно отправить куки в формате ‘name = value’:

curl -b 'session=abcxyz' -b 'loggedin=true' http://echo.hoppscotch.io

Отправка нескольких куки командой curl

Я воспользовался веб-сайтом echo.hoppscotch.io для демонстрации заголовков HTTP-запросов, которые обычно невидимы клиентам, отправляющим запрос. Если вы не хотите пользоваться этим веб-сайтом, то можете применить опцию –verbose (или -v) для отображения запроса в сыром виде (который отображает и заголовки запросов).

▍ Использование прокси-сервера


Если вы пользуетесь прокси-сервером для подключения к интернету, в curl можно указать прокси опцией —proxy (или -x). Если прокси-сервер требует аутентификации, то добавьте —proxy-user (или -U):

curl -x 192. 168.0.250:8088 -U username:password https://awesomewebsite.com/


Прокси-сервер указывается в формате server:port, а пользователь прокси — в формате username:password. Можно не вводить пароль пользователя прокси, тогда curl попросит ввести его в режиме no-echo.

Использование прокси-сервера и аутентификации

▍ Дополнительные заголовки запросов


Иногда вместе с запросом к серверу необходимо отправить дополнительную информацию. В curl это можно сделать при помощи —header (или -H), как показано в следующей команде:

curl -vkIH "x-client-os: Windows 11 Enterprise (x64)" https://awesomewebsite.com

Указание дополнительных заголовков для запроса curl

Можно отправлять любую информацию, недоступную через стандартные заголовки HTTP-запросов. В этом примере я отправил название своей операционной системы. Также я добавил опцию -v для включения verbose-вывода, отображающего дополнительный заголовок, отправляемый вместе с каждым моим запросом curl.

▍ Отправка электронного письма


Так как curl поддерживает протокол SMTP, его можно использовать для отправки электронного письма. Показанная ниже команда позволяет отправить электронное письмо при помощи curl:

curl --insecure --ssl-reqd smtps://mail.yourdomain.com –-mail-from [email protected] –-mail-rcpt [email protected] --user [email protected] --upload-file email_msg.txt

Отправка электронного письма командой curl

Давайте вкратце перечислим использованные здесь опции:

  • Опция —insecure (или -k) используется, чтобы избежать ошибки сертификата SSL. Мы уже применяли её ранее.
  • Опция —ssl-reql используется для апгрейда соединения передачи простого текста до зашифрованного соединения, если оно поддерживается SMTP-сервером. Если вы уверены, что ваш SMTP-сервер поддерживает SSL, то можно использовать непосредственно имя сервера smtps (например, smtps://smtp.yourdomain.com), как показано на скриншоте.
  • Опция —mail-from используется для указания адреса электронной почты отправителя.
  • Опция mail-rcpt указывает адрес электронной почты получателя.
  • Опция —user (или -u) отправляет имя пользователя для аутентификации, оно должно совпадать с адресом mail-from, потому что в противном случае письмо может быть отклонено или помечено как спам.
  • Опция —upload-file (или -T) используется для указания файла, в котором находится отправляемое письмо.


На скриншоте ниже показано письмо, полученное мной во входящие:

Просмотр письма, отправленного с помощью curl

Это всего лишь несколько примеров использования curl — на самом деле их гораздо больше. Я настоятельно рекомендую проверить справку по curl и поэкспериментировать с ней.

А вы используете curl? И если да, то для чего?

Telegram-канал с полезностями и уютный чат

Узнайте, как использовать Curl с помощью этих удобных команд Curl |. Dz Techs

Будь то для теста Вывод API Перед публикацией или просто чтобы проверить, сколько Ответ веб-сайта (например, чтобы убедиться, что он не сломан), команда Curl действительно помогает.

в качестве Аналитик данных Время от времени приходилось им пользоваться. Однако чаще всего я просто заменяю параметры из Команда Curl أمر скопировал и наклеил Канал Slack для моей команды.

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

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

Curl — это Мощная утилита Чтобы командная строка могла взаимодействовать с веб сервер Через Терминал. Его часто путают с командой Wget обычное дело, где оба могут повышать иСкачать содержание с веб-сервера, и они работают на разных платформах. Итак, чтобы прояснить ситуацию, вот различия между Wget и Curl, а также некоторые общие команды Curl, которые вам следует знать, чтобы начать работу.

Сравнение Curl и Wget

На первый взгляд, Curl и Wget можно рассматривать как утилиту, которая может запрашивать и загружать контент с веб-серверов. Однако, если копнуть глубже, есть что раскрыть. Команда Curl поддерживает множество протоколов, начиная от HTTPS و SFTP мне IMAP و POP3 и т. д., при этом поддерживается только команда Wget HTTP و HTTPS و Ftp.

Еще одно важное отличие состоит в том, что Wget поддерживает частую загрузку, а Curl — нет. Таким образом, Wget будет загружать все с веб-страницы на связанные страницы, а Curl — нет. С другой стороны, Curl основан на библиотеке libcurl, которая предоставляет API. Следовательно, его можно легко использовать в сценариях командной строки, а также в приложениях на основе графического интерфейса. Вы можете рассматривать Curl как упрощенный веб-браузер с командной строкой, который может загружать и загружать контент на веб-сервер и с него.

Установить Curl в Windows

Curl предустановлен в операционных системах на основе Unix или Unix-подобных и, таким образом, может использоваться непосредственно в macOS. Однако его также можно использовать в системах, отличных от Unix, таких как Windows, с помощью библиотеки «libcurl».

В Windows все, что нам нужно сделать, это Загрузите zip-файл libcurl И внесите некоторые изменения, чтобы его можно было использовать через Командная строка. Сначала загрузите zip-файл libcurl для 32-разрядной или 64-разрядной версии Windows, в зависимости от того, что у вас есть. После того, как вы загрузили файл, извлеките его содержимое в папку. Для контекста вот скриншот содержимого, извлеченного из папки libcurl.

Внутри извлеченной папки перейдите в bin. папка И скопируйте следующие файлы — «curl.exe«И»curl-ca-bundle».

Создайте папку под названием «витьсяВнутри диска «C:» и вставьте оба скопированных файла. После этого вы можете напрямую использовать команду curl при переходе к папке «C: \ curl» внутри командной строки.

В качестве альтернативы, если вы хотите запустить curl прямо из CMD , Я рекомендую создать переменную окружения. Для этого перейдите в «Меню»Начало«И типа»переменные средыи щелкните по первому результату.

Во всплывающем окне Свойства системы нажмите кнопку. переменные среды Внизу.

на экране переменные среды , нажмите кнопку «Новое”В верхней половине, чтобы добавить переменная среды пользователя.

на экране Пользовательская переменная Новый, добавьте следующую запись. После этого нажмите «Ok» Потом «تطبيقчтобы сохранить изменения.

Variable name: curl
Variable value: C:\curl

После этого нажмите «Ok«в списке»переменные средычтобы сохранить изменения. Вы должны опубликовать это, вы должны иметь возможность использовать команду curl непосредственно в командной строке. Чтобы проверить это, введите следующую команду

curl --version

В качестве альтернативы вы также можете включить WSL для Windows и используйте оболочка bash Ubuntu включить команды curl из bash в Windows.

Лучшие команды Curl и как их использовать

Прежде чем мы начнем с команд, обратите внимание, что одинарные кавычки не работают в командной строке Windows. Вы должны преобразовать их в двойные кавычки. Для оболочки bash он будет работать как обычно и с одинарными кавычками.

1. Просмотрите HTML-код.

Основная функция Curl — просматривать HTML-код веб-страницы. Для этого добавьте команду curl к URL-адресу веб-страницы.

curl https://example.com

Эта команда отобразит вывод в Терминале. Вы также можете загрузить содержимое файла, выбрав переключатель «-Oперед URL. Это сохранит файл в вашей системе с тем же именем, что и удаленный файл. Например, если имя HTML-файла на сервере — «home.html», он также будет сохранен локально как «home.html».

curl -O http://example.com/home.html

Кроме того, вы можете хранить данные с пользовательскими именами файлов. Итак, добавьте к команде символ «.-oза которым следует имя файла.

curl http://example.com/home.html -o sample-file.txt

Вы также можете загрузить несколько файлов, указав несколько URL-адресов удаленных файлов.

2. Загрузите файлы с помощью Curl.

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

curl -O http://example.com/linux.iso

Например, следующая команда загрузит последнюю версию Linux монетный двор с веб-сервера.

curl -O http://mirrors.gigenet.com/linuxmint/iso/stable/19.2/linuxmint-19.2-cinnamon-64bit.iso

Вы также можете использовать «-#«Или же»-индикаторОтображать прогресс в виде хеша.

3. Возобновить неудачную загрузку.

Более того, если загрузка прервана, вы можете возобновить ее, используя «Переключить».-С-. Это будет выглядеть так.

curl -C http://example.com/linux.iso

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

curl -C - -O http://mirrors.gigenet.com/linuxmint/iso/stable/19.2/linuxmint-19.2-cinnamon-64bit.iso

4. Информация об IP

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

curl ipinfo.io

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

curl ipinfo.io/14.141.173.170

5. Отправляйте электронные письма.

Поскольку Curl поддерживает SMTP, POP3, вы можете использовать его для отправки электронных писем. Ниже представлена ​​форма для отправки электронного письма через Gmail.

Соответственно замените адрес электронной почты и пароль в следующей команде.

curl --url "smtps://smtp.gmail.com:587" --ssl-reqd --mail-from "[email protected]" --mail-rcpt "[email protected]" --upload-file "C:\mail.txt" --user "[email protected]:password"

Обязательно включите Доступ к менее безопасным приложениям для Google

6. Словарь

Протокол dict, предоставляемый libcurl, можно использовать, чтобы легко найти значение слова. Источник слов и значений WordNet. Ниже представлена ​​команда, которая позволяет вам сделать то же самое.

curl dict://dict.org/d:english-word

7. Команды POST

Вы можете отправлять запросы POST на веб-сервер с помощью команды curl. Синтаксис следующий

curl -X POST -F "name=user-name" -F "password=password" http://www.example.com

Данные формы POST также могут быть отправлены в виде файла JSON. Для этого используйте следующую команду.

curl -H "Content-Type: application/json" https://www.example.com

8. Конвертируйте файлы.

Поскольку Curl поддерживает данные, состоящие из нескольких частей, вы можете использовать его для мгновенной загрузки и даже преобразования файлов. Например, я хочу преобразование файлов HTML это в PDF. Таким образом, я буду использовать Docverter API Для этого. Docverter API поддерживает несколько форматов файлов из HTML и уценка Его можно преобразовать в. Docx и PDF و EPUB , так далее.

В качестве альтернативы вы также можете использовать API Google Диска v3 Для преобразования электронных таблиц Excel, документов и т. Д.

curl "http://c.docverter.com/convert" -F from=html -F to=pdf -F input_files[][email protected] -o "output-file-name.pdf"

заключительные слова

Команда Curl в основном используется в программах для обмена данными, файлами и формами. Помимо вышеперечисленных команд, существует множество API, групп или Скрипты Другие, которые вы можете использовать с Curl. Вы можете узнать больше об этом в репозиториях GitHub или в Stack Overflow. Если у вас возникнут дополнительные проблемы или вопросы, касающиеся любой команды Curl, дайте мне знать в комментариях ниже.

Источник

Windows 10 — tar и curl

  • 21 октября 2019

В Windows 10 ещё в декабре 2017 года появились две полезные утилиты tar и curl. Их обычно используют Linux администраторы.

Для использования утилит ничего дополнительно устанавливать не понадобится.

tar

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

tar --help
tar(bsdtar): manipulate archive files
First option must be a mode specifier:
  -c Create  -r Add/Replace  -t List  -u Update  -x Extract
Common Options:
  -b #  Use # 512-byte records per I/O block
  -f <filename>  Location of archive (default \\. \tape0)
  -v    Verbose
  -w    Interactive
Create: tar -c [options] [<file> | <dir> | @<archive> | -C <dir> ]
  <file>, <dir>  add these items to archive
  -z, -j, -J, --lzma  Compress archive with gzip/bzip2/xz/lzma
  --format {ustar|pax|cpio|shar}  Select archive format
  --exclude <pattern>  Skip files that match pattern
  -C <dir>  Change to <dir> before processing remaining files
  @<archive>  Add entries from <archive> to output
List: tar -t [options] [<patterns>]
  <patterns>  If specified, list only entries that match
Extract: tar -x [options] [<patterns>]
  <patterns>  If specified, extract only entries that match
  -k    Keep (don't overwrite) existing files
  -m    Don't restore modification times
  -O    Write entries to stdout, don't restore to disk
  -p    Restore permissions (including ACLs, owner, file flags)
bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.5.f-ipp

Проверим, запакуем файл в tar:

tar -cvf files. tar test.txt

curl

Curl: инструмент, который позволяет передавать файлы.

curl --help
Usage: curl [options...] <url>
     --abstract-unix-socket <path> Connect via abstract Unix domain socket
     --anyauth       Pick any authentication method
 -a, --append        Append to target file when uploading
     --basic         Use HTTP Basic Authentication
     --cacert <CA certificate> CA certificate to verify peer against
     --capath <dir>  CA directory to verify peer against
 -E, --cert <certificate[:password]> Client certificate file and password
     --cert-status   Verify the status of the server certificate
     --cert-type <type> Certificate file type (DER/PEM/ENG)
     --ciphers <list of ciphers> SSL ciphers to use
     --compressed    Request compressed response
 -K, --config <file> Read config from a file
     --connect-timeout <seconds> Maximum time allowed for connection
     --connect-to <HOST1:PORT1:HOST2:PORT2> Connect to host
 -C, --continue-at <offset> Resumed transfer offset
 -b, --cookie <data> Send cookies from string/file
 -c, --cookie-jar <filename> Write cookies to <filename> after operation
     --create-dirs   Create necessary local directory hierarchy
     --crlf          Convert LF to CRLF in upload
     --crlfile <file> Get a CRL list in PEM format from the given file
 -d, --data <data>   HTTP POST data
     --data-ascii <data> HTTP POST ASCII data
     --data-binary <data> HTTP POST binary data
     --data-raw <data> HTTP POST data, '@' allowed
     --data-urlencode <data> HTTP POST data url encoded
     --delegation <LEVEL> GSS-API delegation permission
     --digest        Use HTTP Digest Authentication
 -q, --disable       Disable . curlrc
     --disable-eprt  Inhibit using EPRT or LPRT
     --disable-epsv  Inhibit using EPSV
     --dns-interface <interface> Interface to use for DNS requests
     --dns-ipv4-addr <address> IPv4 address to use for DNS requests
     --dns-ipv6-addr <address> IPv6 address to use for DNS requests
     --dns-servers <addresses> DNS server addrs to use
 -D, --dump-header <filename> Write the received headers to <filename>
     --egd-file <file> EGD socket path for random data
     --engine <name> Crypto engine to use
     --expect100-timeout <seconds> How long to wait for 100-continue
 -f, --fail          Fail silently (no output at all) on HTTP errors
     --fail-early    Fail on first transfer error, do not continue
     --false-start   Enable TLS False Start
 -F, --form <name=content> Specify HTTP multipart POST data
     --form-string <name=string> Specify HTTP multipart POST data
     --ftp-account <data> Account data string
     --ftp-alternative-to-user <command> String to replace USER [name]
     --ftp-create-dirs Create the remote dirs if not present
     --ftp-method <method> Control CWD usage
     --ftp-pasv      Use PASV/EPSV instead of PORT
 -P, --ftp-port <address> Use PORT instead of PASV
     --ftp-pret      Send PRET before PASV
     --ftp-skip-pasv-ip Skip the IP address for PASV
     --ftp-ssl-ccc   Send CCC after authenticating
     --ftp-ssl-ccc-mode <active/passive> Set CCC mode
     --ftp-ssl-control Require SSL/TLS for FTP login, clear for transfer
 -G, --get           Put the post data in the URL and use GET
 -g, --globoff       Disable URL sequences and ranges using {} and []
 -I, --head          Show document info only
 -H, --header <header/@file> Pass custom header(s) to server
 -h, --help          This help text
     --hostpubmd5 <md5> Acceptable MD5 hash of the host public key
 -0, --http1. 0       Use HTTP 1.0
     --http1.1       Use HTTP 1.1
     --http2         Use HTTP 2
     --http2-prior-knowledge Use HTTP 2 without HTTP/1.1 Upgrade
     --ignore-content-length Ignore the size of the remote resource
 -i, --include       Include protocol response headers in the output
 -k, --insecure      Allow insecure server connections when using SSL
     --interface <name> Use network INTERFACE (or address)
 -4, --ipv4          Resolve names to IPv4 addresses
 -6, --ipv6          Resolve names to IPv6 addresses
 -j, --junk-session-cookies Ignore session cookies read from file
     --keepalive-time <seconds> Interval time for keepalive probes
     --key <key>     Private key file name
     --key-type <type> Private key file type (DER/PEM/ENG)
     --krb <level>   Enable Kerberos with security <level>
     --libcurl <file> Dump libcurl equivalent code of this command line
     --limit-rate <speed> Limit transfer speed to RATE
 -l, --list-only     List only mode
     --local-port <num/range> Force use of RANGE for local port numbers
 -L, --location      Follow redirects
     --location-trusted Like --location, and send auth to other hosts
     --login-options <options> Server login options
     --mail-auth <address> Originator address of the original email
     --mail-from <address> Mail from this address
     --mail-rcpt <address> Mail from this address
 -M, --manual        Display the full manual
     --max-filesize <bytes> Maximum file size to download
     --max-redirs <num> Maximum number of redirects allowed
 -m, --max-time <time> Maximum time allowed for the transfer
     --metalink      Process given URLs as metalink XML file
     --negotiate     Use HTTP Negotiate (SPNEGO) authentication
 -n, --netrc         Must read . netrc for user name and password
     --netrc-file <filename> Specify FILE for netrc
     --netrc-optional Use either .netrc or URL
 -:, --next          Make next URL use its separate set of options
     --no-alpn       Disable the ALPN TLS extension
 -N, --no-buffer     Disable buffering of the output stream
     --no-keepalive  Disable TCP keepalive on the connection
     --no-npn        Disable the NPN TLS extension
     --no-sessionid  Disable SSL session-ID reusing
     --noproxy <no-proxy-list> List of hosts which do not use proxy
     --ntlm          Use HTTP NTLM authentication
     --ntlm-wb       Use HTTP NTLM authentication with winbind
     --oauth3-bearer <token> OAuth 2 Bearer Token
 -o, --output <file> Write to file instead of stdout
     --pass <phrase> Pass phrase for the private key
     --path-as-is    Do not squash .. sequences in URL path
     --pinnedpubkey <hashes> FILE/HASHES Public key to verify peer against
     --post301       Do not switch to GET after following a 301
     --post302       Do not switch to GET after following a 302
     --post303       Do not switch to GET after following a 303
     --preproxy [protocol://]host[:port] Use this proxy first
 -#, --progress-bar  Display transfer progress as a bar
     --proto <protocols> Enable/disable PROTOCOLS
     --proto-default <protocol> Use PROTOCOL for any URL missing a scheme
     --proto-redir <protocols> Enable/disable PROTOCOLS on redirect
 -x, --proxy [protocol://]host[:port] Use this proxy
     --proxy-anyauth Pick any proxy authentication method
     --proxy-basic   Use Basic authentication on the proxy
     --proxy-cacert <file> CA certificate to verify peer against for proxy
     --proxy-capath <dir> CA directory to verify peer against for proxy
     --proxy-cert <cert[:passwd]> Set client certificate for proxy
     --proxy-cert-type <type> Client certificate type for HTTS proxy
     --proxy-ciphers <list> SSL ciphers to use for proxy
     --proxy-crlfile <file> Set a CRL list for proxy
     --proxy-digest  Use Digest authentication on the proxy
     --proxy-header <header/@file> Pass custom header(s) to proxy
     --proxy-insecure Do HTTPS proxy connections without verifying the proxy
     --proxy-key <key> Private key for HTTPS proxy
     --proxy-key-type <type> Private key file type for proxy
     --proxy-negotiate Use HTTP Negotiate (SPNEGO) authentication on the proxy
     --proxy-ntlm    Use NTLM authentication on the proxy
     --proxy-pass <phrase> Pass phrase for the private key for HTTPS proxy
     --proxy-service-name <name> SPNEGO proxy service name
     --proxy-ssl-allow-beast Allow security flaw for interop for HTTPS proxy
     --proxy-tlsauthtype <type> TLS authentication type for HTTPS proxy
     --proxy-tlspassword <string> TLS password for HTTPS proxy
     --proxy-tlsuser <name> TLS username for HTTPS proxy
     --proxy-tlsv1   Use TLSv1 for HTTPS proxy
 -U, --proxy-user <user:password> Proxy user and password
     --proxy1. 0 <host[:port]> Use HTTP/1.0 proxy on given port
 -p, --proxytunnel   Operate through a HTTP proxy tunnel (using CONNECT)
     --pubkey <key>  SSH Public key file name
 -Q, --quote         Send command(s) to server before transfer
     --random-file <file> File for reading random data from
 -r, --range <range> Retrieve only the bytes within RANGE
     --raw           Do HTTP "raw"; no transfer decoding
 -e, --referer <URL> Referrer URL
 -J, --remote-header-name Use the header-provided filename
 -O, --remote-name   Write output to a file named as the remote file
     --remote-name-all Use the remote file name for all URLs
 -R, --remote-time   Set the remote file's time on the local output
 -X, --request <command> Specify request command to use
     --request-target Specify the target for this request
     --resolve <host:port:address> Resolve the host+port to this address
     --retry <num>   Retry request if transient problems occur
     --retry-connrefused Retry on connection refused (use with --retry)
     --retry-delay <seconds> Wait time between retries
     --retry-max-time <seconds> Retry only within this period
     --sasl-ir       Enable initial response in SASL authentication
     --service-name <name> SPNEGO service name
 -S, --show-error    Show error even when -s is used
 -s, --silent        Silent mode
     --socks4 <host[:port]> SOCKS4 proxy on given host + port
     --socks4a <host[:port]> SOCKS4a proxy on given host + port
     --socks5 <host[:port]> SOCKS5 proxy on given host + port
     --socks5-basic  Enable username/password auth for SOCKS5 proxies
     --socks5-gssapi Enable GSS-API auth for SOCKS5 proxies
     --socks5-gssapi-nec Compatibility with NEC SOCKS5 server
     --socks5-gssapi-service <name> SOCKS5 proxy service name for GSS-API
     --socks5-hostname <host[:port]> SOCKS5 proxy, pass host name to proxy
 -Y, --speed-limit <speed> Stop transfers slower than this
 -y, --speed-time <seconds> Trigger 'speed-limit' abort after this time
     --ssl           Try SSL/TLS
     --ssl-allow-beast Allow security flaw to improve interop
     --ssl-no-revoke Disable cert revocation checks (WinSSL)
     --ssl-reqd      Require SSL/TLS
 -2, --sslv2         Use SSLv2
 -3, --sslv3         Use SSLv3
     --stderr        Where to redirect stderr
     --suppress-connect-headers Suppress proxy CONNECT response headers
     --tcp-fastopen  Use TCP Fast Open
     --tcp-nodelay   Use the TCP_NODELAY option
 -t, --telnet-option <opt=val> Set telnet option
     --tftp-blksize <value> Set TFTP BLKSIZE option
     --tftp-no-options Do not send any TFTP options
 -z, --time-cond <time> Transfer based on a time condition
     --tls-max <VERSION> Use TLSv1. 0 or greater
     --tlsauthtype <type> TLS authentication type
     --tlspassword   TLS password
     --tlsuser <name> TLS user name
 -1, --tlsv1         Use TLSv1.0 or greater
     --tlsv1.0       Use TLSv1.0
     --tlsv1.1       Use TLSv1.1
     --tlsv1.2       Use TLSv1.2
     --tlsv1.3       Use TLSv1.3
     --tr-encoding   Request compressed transfer encoding
     --trace <file>  Write a debug trace to FILE
     --trace-ascii <file> Like --trace, but without hex output
     --trace-time    Add time stamps to trace/verbose output
     --unix-socket <path> Connect through this Unix domain socket
 -T, --upload-file <file> Transfer local FILE to destination
     --url <url>     URL to work with
 -B, --use-ascii     Use ASCII/text transfer
 -u, --user <user:password> Server user and password
 -A, --user-agent <name> Send User-Agent <name> to server
 -v, --verbose       Make the operation more talkative
 -V, --version       Show version number and quit
 -w, --write-out <format> Use output FORMAT after completion
     --xattr         Store metadata in extended file attributes

Проверим:

curl -vvv internet-lab. ru

Теги

  • Windows
  • Linux

11 примеров использование команд cURL в режиме реального времени

cURL — инструмент командной строки для получения или отправки данных с использованием синтаксиса URL.

Если вы работаете в службе поддержки, то должны уметь использовать команды cURL для устранения неполадок веб-приложений. cURL — кроссплатформенная утилита для Windows, MAC и UNIX.
Ниже приведены некоторые часто используемые примеры синтаксиса.

  • Проверка возможности подключения к URL-адресу
  • Сохранение вывод URL / URI в файл
  • Показать заголовок запроса и ответа
  • Загрузить с предельной скоростью
  • Использование прокси для подключения
  • Проверка URL-адресас введением заголовка
  • Добавить дополнительный заголовок
  • Открыть только заголовок ответа
  • Подключить HTTPS / SSLURL-адрес и игнорировать любые ошибки SSL -сертификата
  • Подключиться с использованием определенного протокола (SSL / TLS)
  • Загрузить файл с FTP-сервера
  • Использования cURL онлайн

Если вы работаете в UNIX-системе и пытаетесь подключиться к внешнему URL-адресу, то сначала проверьте наличие доступа к ресурсу через curl. Для этого используйте следующую команду:

# curl yoururl.com

Если нужно сохранить содержимое URL или URI в конкретном файле, используйте следующий синтаксис:

# curl yoururl.com > yoururl.html

Например:

[root@localhost]# curl 74.125.68.100 >/tmp/google.html

Приведенный выше пример сохранит все содержимое с хоста 74.125.68.100 в файл /tmp/google.html.

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

# curl -v yoururl.com

например:

[root@localhost  ]# curl -v 74.125.68.100   
* About to connect() to 74.125.68.100 port 80 (#0)   
*   Trying 74.125.68.100...   
* Connected to 74.125.68.100 (74.125.68.100) port 80 (#0)   
> GET / HTTP/1.1   
> User-Agent: curl/7.29.0   
>Host: 74.125.68.100   
>Accept: */*   
>< HTTP/1.1 200 OK   
<Date: Sun, 18 Jan 2015 06:02:58 GMT   
<Expires: -1   
< Cache-Control: private, max-age=0   
< Content-Type: text/html; charset=ISO-8859-1   
< Set-Cookie: NID=67=EZH_o3sPvCSnxzVatz21OHv_; 
expires=Mon, 20-Jul-2015 06:02:58 GMT; 
path=/; 
domain=. ; HttpOnly
< P3P: CP="This is not a P3P policy! 
See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for moreinfo."   
< Server: gws
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN   
<Alternate-Protocol: 80:quic,p=0.02   
<Accept-Ranges: none
<Vary: Accept-Encoding
<Transfer-Encoding: chunked

Если нужно узнать, сколько времени требуется для загрузки с определенной скоростью, то используйте следующую команду:

# curl –-limit-rate 2000B

например:

# curl –-limit-rate 2000B 74.125.68.100

Если необходимо проверить, можно ли использовать прокси-сервер, примените следующий синтаксис:

# curl --proxyyourproxy:port http://yoururl.com

Для устранения конкретной проблемы можно использовать Curl, чтобы вставить в header свои данные. Рассмотрим следующий пример запроса с Content-Type:

# curl --header 'Content-Type: application/json' http://yoururl.com

Мы просим curl передать Content-Type в качестве application / json в заголовок запроса.

Вы можете добавить заголовок к запросу с помощью синтаксиса — header.

# curl –-header “X-CustomHeader: GeekFlare” http://yoururl.com

например:

[root@localhost]# curl -v --header "X-CustomHeader: GeekFlare" 74.125.68   
* About to connect() to 74.125.68.100 port 80 (#0)   
*   Trying 74.125.68.100...   
* Connected to 74.125.68.100 (74.125.68.100) port 80 (#0)   
> GET / HTTP/1.1   
> User-Agent: curl/7.29.0   
>Host: 74.125.68.100   
>Accept: */*   
> X-CustomHeader: GeekFlare
>< HTTP/1.1 200 OK   
<Date: Sun, 18 Jan 2015 08:30:25 GMT   
<Expires: -1   
< Cache-Control: private, max-age=0   
< Content-Type: text/html; charset=ISO-8859-1   
< Set-Cookie: NID=67=CkzDX-zTtWA0d9M1QVG4O3Im; 
expires=Mon, 20-Jul-2015 08:30:25 GMT; 
path=/; domain=.; HttpOnly
< P3P: CP="This is not a P3P policy! 
See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for moreinfo."   
< Server: gws
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN   
<Alternate-Protocol: 80:quic,p=0. 02   
<Accept-Ranges: none
<Vary: Accept-Encoding
<Transfer-Encoding: chunked

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

# curl --head http://yoururl.com

Пример:

[root@localhost]# curl -I 74.125.68.100   
HTTP/1.1 200 OK   
Date: Sun, 18 Jan 2015 08:31:22 GMT   
Expires: -1   
Cache-Control: 
private, max-age=0   
Content-Type: text/html; charset=ISO-8859-1   
Set-Cookie: NID=67=SpnXKTDUhw7QGakIeLxmDSF; 
expires=Mon, 20-Jul-2015 08:31:22 GMT; path=/; domain=.; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for moreinfo."   
Server: gws   X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN   
Alternate-Protocol: 80:quic,p=0.02   
Transfer-Encoding: chunked
Accept-Ranges: none
Vary: Accept-Encoding
[root@localhost  ]#

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

curl --insecure https://yoururl.com

Чтобы подключиться к URL- адресу только по протоколу SSL V2 / V3 или TLS,используйте следующий синтаксис.

Для подключения с использованием SSLV2:

# curl --sslv2 https://yoururl.com

Для подключения с использованием SSLV3:

# curl --sslv3 https://yoururl.com

Для подключения через TLS:

# curl --tlsv1 https://yoururl.com

С помощью cURL можно загрузить файл с ftp-сервера, указав имя пользователя и пароль.

# curl -u user:password -O ftp://ftpurl/style.css

Всегда можно использовать «-v» с любым синтаксисом для вывода в подробном режиме.

Да, это возможно. Вы можете выполнить cURL удаленно с помощью следующих инструментов.
Online CURL — компактный инструмент для извлечения URL-адреса онлайн и добавления следующих параметров.

--connect-timeout
--cookie
--data
--header
--head
--location
--max-time
--proxy
--request
--user
--url
--user-agent

Пример вывода:

cURL command line builder–позволяет создать команду cURL, с помощью которой можно ввести информацию в пользовательский интерфейс.

cURL — полезная утилита для устранения проблем с подключением в режиме реального времени.

Вадим Дворниковавтор-переводчик статьи «11 cURL Command Usage with Real-Time Example»

Что такое curl.exe? Это безопасно или вирус? Как удалить или исправить это

Содержание

  • 1. Что такое curl.exe?
  • 2. Curl.exe безопасно, или это вирус или вредоносная программа?
  • 3. Могу ли я удалить или удалить curl.exe?
  • 4. Распространенные сообщения об ошибках в curl.exe
  • 5. Как исправить curl.exe
  • 6. Мартовское обновление 2023
  • 7. Загрузите или переустановите curl.exe

Обновлено March 2023: Вот три шага к использованию инструмента восстановления для устранения проблем с exe на вашем компьютере: Получите его по адресу эту ссылку

  1. Скачайте и установите это программное обеспечение.
  2. Просканируйте свой компьютер на наличие проблем с exe.
  3. Исправьте ошибки exe с помощью программного инструмента

Что такое curl.

exe?

curl.exe это исполняемый файл, который является частью Система вышивки 5D Программа, разработанная VSM Software Ltd., Программное обеспечение обычно о 1.42 MB по размеру.

Расширение .exe имени файла отображает исполняемый файл. В некоторых случаях исполняемые файлы могут повредить ваш компьютер. Пожалуйста, прочитайте следующее, чтобы решить для себя, является ли curl.exe Файл на вашем компьютере — это вирус или троянский конь, который вы должны удалить, или это действительный файл операционной системы Windows или надежное приложение.

Рекомендуется: Выявление ошибок, связанных с curl.exe
(опциональное предложение для Reimage — Cайт | Лицензионное соглашение | Персональные данные | Удалить)

 

Curl.exe безопасно, или это вирус или вредоносная программа?

Первое, что поможет вам определить, является ли конкретный файл законным процессом Windows или вирусом, — это расположение самого исполняемого файла. Например, такой процесс, как curl.exe, должен запускаться из, а не из другого места.

Для подтверждения откройте диспетчер задач, выберите «Просмотр» -> «Выбрать столбцы» и выберите «Имя пути к изображению», чтобы добавить столбец местоположения в диспетчер задач. Если вы обнаружите здесь подозрительный каталог, возможно, стоит дополнительно изучить этот процесс.

Еще один инструмент, который иногда может помочь вам обнаружить плохие процессы, — это Microsoft Process Explorer. Запустите программу (не требует установки) и активируйте «Проверить легенды» в разделе «Параметры». Теперь перейдите в View -> Select Columns и добавьте «Verified Signer» в качестве одного из столбцов.

Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.

Самые важные факты о curl.exe:

  • Находится в C: \ Program Files \ VSMSoftware \ 5DEmbroidery \ вложенная;
  • Издатель: VSM Software Ltd.
  • Полный путь:
  • Файл справки:
  • URL издателя:
  • Известно, что до 1.42 MB по размеру на большинстве окон;

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

Найдите его местоположение (оно должно быть в C: \ Program Files \ VSMSoftware \ 5DEmbroidery \) и сравните его размер с приведенными выше фактами.

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

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

 

Могу ли я удалить или удалить curl.exe?

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

Согласно различным источникам онлайн,
2% людей удаляют этот файл, поэтому он может быть безвредным, но рекомендуется проверить надежность этого исполняемого файла самостоятельно, чтобы определить, является ли он безопасным или вирусом. Лучшая диагностика для этих подозрительных файлов — полный системный анализ с Reimage, Если файл классифицируется как вредоносный, эти приложения также удаляют curl.exe и избавляются от связанных вредоносных программ.

Однако, если это не вирус и вам нужно удалить curl.exe, вы можете удалить 5D Embroidery System со своего компьютера с помощью программы удаления, которая должна находиться по адресу: MsiExec.exe / I {C1B542D3-59CA-4540-932E -BF364EB2FDDE}. Если вы не можете найти его деинсталлятор, вам может потребоваться удалить 5D Embroidery System, чтобы полностью удалить curl.exe. Вы можете использовать функцию «Добавить / удалить программу» в Панели управления Windows.

  • 1. в Меню Пуск (для Windows 8 щелкните правой кнопкой мыши в нижнем левом углу экрана), нажмите Панель управления, а затем под Программы:
    o Windows Vista / 7 / 8.1 / 10: нажмите Удаление программы.
    o Windows XP: нажмите Установка и удаление программ.
  • 2. Когда вы найдете программу Система вышивки 5Dщелкните по нему, а затем:
    o Windows Vista / 7 / 8.1 / 10: нажмите Удалить.
    o Windows XP: нажмите Удалить or Изменить / Удалить вкладка (справа от программы).
  • 3. Следуйте инструкциям по удалению Система вышивки 5D.

 

 

 

Распространенные сообщения об ошибках в curl.exe

Наиболее распространенные ошибки curl.exe, которые могут возникнуть:

• «Ошибка приложения curl.exe».
• «Ошибка curl.exe».
• «Возникла ошибка в приложении curl.exe. Приложение будет закрыто. Приносим извинения за неудобства».
• «curl.exe не является допустимым приложением Win32».
• «curl.exe не запущен».
• «curl.exe не найден».
• «Не удается найти curl.exe».
• «Ошибка запуска программы: curl.exe.»
• «Неверный путь к приложению: curl.exe.»

Эти сообщения об ошибках . exe могут появляться во время установки программы, во время выполнения связанной с ней программы, 5D Embroidery System, при запуске или завершении работы Windows или даже во время установки операционной системы Windows. Отслеживание момента появления ошибки curl.exe является важной информацией, когда дело доходит до устранения неполадок.

 

Как исправить curl.exe

Чистый и аккуратный компьютер — один из лучших способов избежать проблем с системой 5D Embroidery System. Это означает выполнение сканирования на наличие вредоносных программ, очистку жесткого диска с помощью cleanmgr и ПФС / SCANNOWудаление ненужных программ, мониторинг любых автозапускаемых программ (с помощью msconfig) и включение автоматических обновлений Windows. Не забывайте всегда делать регулярные резервные копии или хотя бы определять точки восстановления.

Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.

Чтобы помочь вам проанализировать процесс curl.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.

 

Обновлено March 2023:

Мы рекомендуем вам попробовать это новое программное обеспечение, которое исправляет компьютерные ошибки, защищает их от вредоносных программ и оптимизирует производительность вашего ПК. Этот новый инструмент исправляет широкий спектр компьютерных ошибок, защищает от таких вещей, как потеря файлов, вредоносное ПО и сбои оборудования.

  • Шаг 1: Скачать PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
  • Шаг 2: Нажмите «Начать сканирование”, Чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
  • Шаг 3: Нажмите «Починить все», Чтобы исправить все проблемы.

(опциональное предложение для Reimage — Cайт | Лицензионное соглашение | Персональные данные | Удалить)

Загрузите или переустановите curl.exe

Вход в музей Мадам Тюссо не рекомендуется загружать заменяемые exe-файлы с любых сайтов загрузки, поскольку они могут содержать вирусы и т. д. Если вам нужно скачать или переустановить curl.exe, мы рекомендуем переустановить основное приложение, связанное с ним. Система вышивки 5D.

Информация об операционной системе

Ошибки curl.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:

  • Windows 10
  • Windows 8.1
  • Windows 7
  • Windows Vista
  • Windows XP
  • Windows ME
  • Windows 2000

РЕКОМЕНДУЕМЫЕ: Нажмите здесь, чтобы устранить ошибки Windows и оптимизировать производительность системы

10 команд curl, которые вам следует знать — Разработка на vc.ru

Команда Mail.ru Cloud Solutions перевела статью, автор которой составил краткий справочник часто используемых команд curl для протоколов HTTP/HTTPS. Это не замена официального руководства по cURL, скорее, краткий конспект.

198 440
просмотров

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

curl — инструмент для передачи данных с сервера или на него, при этом используется один из поддерживаемых протоколов: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET и TFTP. Команда предназначена для работы без взаимодействия с пользователем.

Команда curl запускается из командной строки и предустановлена в большинстве дистрибутивов Linux.

Варианты применения:

  • доступ без браузера;
  • внутри shell-скриптов;
  • для тестирования API.

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

Запрос страницы

Если никакие аргументы не указаны, то команда curl выполняет HTTP-запрос get и отображает статическое содержимое страницы. Оно аналогично тому, что мы видим при просмотре исходного кода в браузере.

curl www.google.com

Скачивание файла

Есть два варианта этой команды.

  • Скачать файл и сохранить под оригинальным именем (testfile. tar.gz).

curl -O https://testdomain.com/testfile.tar.gz

  • Скачать файл и сохранить под другим именем.

curl -o custom_file.tar.gz https://testdomain.com/testfile.tar.gz

Еще можно скачать несколько файлов одной командой, хотя в мануале так делать не рекомендуют.

curl -O https://testdomain.com/testfile.tar.gz -O https://testdomain.com/testfile2.tar.gz

Получение заголовков HTTP

Если вы хотите посмотреть, какие заголовки отдает сервер, то можно использовать опции -I или -head. Они позволяют получить заголовок без тела документа.

curl -I https://www.google.com
HTTP/1.1 200 OK
Content-Type: text/html; charset=ISO-8859-1
P3P: CP=»This is not a P3P policy! See g.co/p3phelp for more info.»
Date: Thu, 04 Jun 2020 15:07:42 GMT
Server: gws
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked
Expires: Thu, 04 Jun 2020 15:07:42 GMT
Cache-Control: private
Set-Cookie: 1P_JAR=2020-06-04-15; expires=Sat, 04-Jul-2020 15:07:42 GMT; path=/; domain=. google.com; Secure
Set-Cookie: <cookie_info>

Игнорирование ошибки неправильных или самоподписанных сертификатов

Когда вы тестируете веб-приложение или API, то в вашем тестовом окружении могут быть самоподписанные или неправильные SSL-сертификаты. По умолчанию curl верифицирует все сертификаты. Чтобы он не выдавал ошибку о неверных сертификатах и устанавливал соединение для тестирования, используйте опцию -k или -insecure.

curl -k https://localhost/my_test_endpoint

Отправка POST-запроса

Иногда для тестирования API нужно отправить какие-либо данные, обычно это делают через POST-запрос. Если вы делаете POST-запрос при помощи curl, то можете отправить данные либо в виде списка имя=значение, либо в виде JSON.

  • Запрос в виде списка имя=значение.

curl —data «param1=test1&param2=test2» http://test.com

  • Запрос в виде JSON.

curl -H ‘Content-Type: application/json’ —data ‘{«param1″:»test1″,»param2″:»test2»}’ http://www. test.com

Параметр —data эквивалентен -d, оба указывают curl выполнить HTTP POST-запрос.

Указание типа запроса

Если curl не передаются никакие данные, то по умолчанию он выполняет HTTP GET запрос. Но если вам, например, нужно обновить данные, а не пересоздать их заново, то curl поддерживает опции, указывающие тип запроса. Параметры -x или —request позволяют указать тип HTTP-запроса, который используется для сообщения с сервером.

# updating the value of param2 to be test 3 on the record id
curl -X ‘PUT’ -d ‘{«param1″:»test1″,»param2″:»test3»}’ \http://test.com/1

Использование авторизации

API защищено авторизацией по логину-паролю — вы можете передать пару логин-пароль, используя параметр -u или —user. Если просто передать логин, то curl запросит пароль в командной строке. Используете параметр несколько раз — для авторизации на сервер будет передано только последнее значение.

curl -u <user:password> https://my-test-api. com/endpoint1

Управление резольвом имен

Вы хотите протестировать API перед развертыванием и перенаправить запрос на тестовую машину — это можно сделать, указав альтернативный резольв имени эндпоинта для данного запроса. Все работает эквивалентно пропиcыванию хоста в /etc/hosts.

curl —resolve www.test.com:80:localhost http://www.test.com/

Загрузка файла

О возможности загрузки файла через curl я узнал недавно. Не был уверен, что это возможно, но, по всей видимости, это так: curl с опцией -F эмулирует отправку заполненной формы, когда пользователь нажимает кнопку отправки. Опция указывает curl передавать данные в виде POST-запроса, используя multipart / form-data Content-Type.

curl -F @[email protected]/to/local_file

Вы можете загрузить несколько файлов, повторяя параметр -F.

curl -F @[email protected]/to/local_file
@[email protected]/to/local_file_2

Измерение продолжительности соединения

Вы можете использовать опцию -w для отображения информации в stdout после завершения передачи. Она поддерживает отображение набора переменных. Например, можно узнать общее время, которое потребовалось для успешного выполнения запроса. Это удобно, если вам нужно определить время загрузки или скачивания с помощью curl.

curl -w «%{time_total}\n» -o /dev/null -s www.test.com

Это некоторые из опций, которые можно использовать с curl. Надеюсь, информация была вам полезна и статья понравилась.

Удачи!

Что еще почитать:

  • Иллюстрированное руководство по полезным инструментам командной строки.
  • Что происходит, когда вы обновляете свой DNS.
  • Наш Телеграм-канал о цифровой трансформации.

Как использовать curl в Windows — 4sysops

Curl (клиентский URL) — это инструмент командной строки на основе библиотеки libcurl для передачи данных на сервер и с сервера с использованием различных протоколов, таких как HTTP, HTTPS, FTP, FTPS, IMAP , IMAPS, POP3, POP3S, SMTP и SMTPS. Он очень популярен для автоматизации и сценариев благодаря широкому набору функций и поддержке протоколов. В этой статье вы узнаете, как использовать curl в Windows на различных примерах. Давайте начнем.

Содержимое

  1. Установить curl в Windows
  2. Синтаксис Curl
  3. Запрос HTTP GET
  4. Получить информацию об удаленном файле.
  5. Скачать файл
  6. Резюме прерванная загрузка
  7. Аутентификация с Curl
  8. Загрузить файл
  9. Цитата Команда
  10. Измените пользовательский агент
  11. Отправить куки
  12. . Отправить письмо
  • Автор
  • Последние сообщения

Сурендер Кумар

Сурендер Кумар имеет более чем двенадцатилетний опыт администрирования серверов и сетей. В сферу его интересов входят серверы Windows, Active Directory, PowerShell, веб-серверы, сети, Linux, виртуализация и тестирование на проникновение. Он любит писать для своего блога.

Последние сообщения Сурендера Кумара (посмотреть все)

Установить curl в Windows

Все современные версии Windows, начиная с Windows 10 (версия 1803) и Server 2019, исполняемый файл curl предварительно установлен, поэтому нет необходимости в ручной установке. Чтобы определить местоположение и версию curl в вашей системе, вы можете использовать следующие команды:

 где curl
завиток --версия
 

Определение местоположения и версии curl в Windows

Команда curl —version также выводит список протоколов и функций, поддерживаемых текущей версией curl. Если вы видите вывод, как показано на снимке экрана выше, все готово для использования встроенной утилиты curl. Если вместо этого вы получаете сообщение об ошибке, curl может быть недоступен, возможно, потому, что вы используете более раннюю версию Windows (например, Windows 8.1 или Server 2016). В этом случае вам может потребоваться вручную настроить curl в Windows.

Синтаксис Curl

Команда curl использует следующий синтаксис:

 curl [параметры...] [url]
 

Поддерживает различные параметры, о которых мы поговорим далее в этом посте. Как и в случае с любым другим инструментом командной строки, вы можете использовать команду curl —help для получения справки.

Получение справки по команде curl

Чтобы получить подробную справку, вы можете использовать curl —help all . Раздел справки разделен на категории, поэтому curl —help категория дает вам обзор всех категорий.

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

HTTP-запрос GET

При использовании curl для URL-адреса без указания каких-либо параметров запрос по умолчанию использует метод GET протокола HTTP. Попробуйте это:

 curl https://4sysops.com
 

Приведенная выше команда по сути эквивалентна curl —request GET https://4sysops.com , которая отправляет запрос GET на 4sysops.com с использованием Протокол HTTPS . Чтобы указать версию протокола HTTP (например, http/2), используйте параметр —http2 , как показано ниже:

 curl --http2 https://4sysops. com
 

Для URL-адресов, начинающихся с HTTPS, curl сначала пытается установить соединение http/2 и автоматически возвращается к http/1.1, если согласование не удается. Он также поддерживает другие методы, такие как HEAD, POST, PUT и DELETE. Чтобы использовать эти методы вместе с командой curl, используйте —request (или -X ), а затем метод. Обратите внимание, что доступные методы зависят от используемого протокола.

Получить информацию об удаленном файле.

Как администратор, вы можете интересоваться только заголовками HTTP. Это можно сделать с помощью опции —head (или -I ). Иногда URL-адрес может перенаправить вас в другое место. В этом случае —location (или -L ) позволяет curl следовать перенаправлениям. Вы также можете использовать —insecure (или -k ), чтобы разрешить небезопасным соединениям избежать любых ошибок сертификата TLS, если целевой URL-адрес использует самозаверяющий сертификат. Используйте это только в случае крайней необходимости. Все три параметра можно комбинировать в сокращенной записи, как показано в следующей команде:

 curl -kIL 4sysops.com
 

Просмотр заголовков запроса разрешает небезопасное соединение и использование параметров перенаправления с помощью curl

Вы можете видеть, что краткая запись особенно полезна для объединения нескольких параметров. Вышеупомянутая команда по существу эквивалентна curl —insecure —head —location 4sysops.com команда.

Параметр —head (или -I ) также дает базовую информацию об удаленном файле, не загружая его. Как показано на снимке экрана ниже, когда вы используете curl с URL-адресом удаленного файла, он отображает различные заголовки, чтобы предоставить вам информацию об удаленном файле.

 curl-IL https://curl.se/windows/dl-7.85.0_5/curl-7.85.0_5-win64-mingw.zip
 

Используйте curl для просмотра основной информации об удаленных файлах

Заголовок Content-Length указывает размер файла (в байтах), Content-Type показывает тип носителя файла (например, изображение/png, текст/htm), Сервер указывает тип серверного приложения (Apache, Gonicron и т. д.), Last-Modified показывает дату последнего изменения файла на сервере, а заголовок Accept-Ranges указывает на поддержку частичных запросов от клиента на загрузку, что по сути означает, что вы можете возобновить прерванную загрузку.

Загрузить файл

Вы можете использовать curl с параметром —remote-name (или, короче, -O ), чтобы загрузить файл и сохранить его под тем же именем, что и на сервере. Следующая команда загружает последнюю версию curl для Windows с официального сайта:

 curl -OL https://curl.se/windows/latest.cgi?p=win64-mingw.zip
 

Загрузка файла с именем по умолчанию и индикатором выполнения с помощью curl

Параметр -L добавлен для отслеживания перенаправлений, если это необходимо, для обнаружения ресурса. Если вы хотите сохранить файл под новым именем, используйте кнопку 9.0057 —output (или -o ). Кроме того, при использовании команды curl в сценарии вы можете захотеть подавить индикатор выполнения, используя —silent (или -s ). Оба параметра можно комбинировать, как показано в следующей команде:

 curl -sLo curl.zip https://curl.se/windows/latest.cgi?p=win64-mingw.zip
 

Автоматически загрузить файл и сохранить с произвольным именем с помощью curl

Возобновить прерванную загрузку

Наличие Accept-Ranges: байты в заголовке ответа буквально означают, что сервер поддерживает возобновляемые загрузки. Чтобы возобновить прерванную загрузку, вы можете использовать —continue-at (или -C ), который принимает смещение (в байтах). Как правило, указать смещение сложно, поэтому curl предлагает простой способ возобновления прерванной загрузки:

 curl -OLC - https://releases.ubuntu.com/22.04/ubuntu-22.04.1-desktop-amd64.iso
 

Возобновление прерванной загрузки с помощью curl

Как вы можете видеть на скриншоте, я загружал iso-файл Ubuntu, который был прерван. Когда я снова запустил команду curl с параметром -C , передача возобновилась с того диапазона байтов, где она была прервана. Знак минус () рядом с -C позволяет curl автоматически выяснить, как и где возобновить прерванную загрузку.

Аутентификация с помощью Curl

Curl также поддерживает аутентификацию, позволяя вам загрузить защищенный файл, предоставив учетные данные с —user (или -u ), который принимает имя пользователя и пароль в формате имя пользователя:пароль . Если вы пропустите ввод пароля, curl предложит вам ввести его в режиме без эха.

 curl -u surender -OL https://techtutsonline.com/secretFiles/sample.zip
 

Загрузка файла с использованием аутентификации по имени пользователя и паролю с помощью curl

Если вы используете базовый метод аутентификации, вам необходимо передать имя пользователя и пароль, что означает, что вы должны использовать безопасный протокол, такой как HTTPS (вместо HTTP) или FTPS (вместо FTP). Если по какой-то причине вам необходимо использовать незашифрованный протокол, убедитесь, что вы используете метод аутентификации, который не передает учетные данные в открытом виде (например, Digest, NTLM или Negotiate).

Curl также поддерживает использование файлов конфигурации .curlrc, _curlrc, и .netrc , что позволяет вам определять различные параметры curl в файле, а затем включать файл в вашу команду с помощью curl —config ( или curl -K ), что особенно полезно для сценариев.

Загрузить файл

Параметр —upload-file (или -T ) позволяет загружать локальный файл на удаленный сервер. Следующая команда показывает, как загрузить файл из локальной системы на удаленный веб-сервер с использованием протокола FTPS:

 curl -kT C:\Users\Surender\Downloads\sample1.zip -u testlab\surender ftps://192.168.0.80/awesomewebsite.com/files/
 

Загрузка файла на удаленный сервер с помощью curl

Опция -k включена, чтобы избежать ошибок сертификата, если веб-сервер использует самоподписанный сертификат. Завершающая косая черта в конце URL-адреса сообщает curl, что пунктом назначения является каталог. Вы можете указать несколько имен файлов, например «{sample1.zip,sample2.zip}». Следующая команда показывает, как загрузить несколько файлов с помощью одной команды curl:

 curl -kT sample[1-5].zip -u testlab\surender ftps://192.168.0.80/awesomewebsite.com/files/
 

Загрузить несколько файлов на удаленный сервер с помощью curl

Закавычить команду

Как уже говорилось, curl поддерживает различные методы, основанные на используемом базовом протоколе. Вы можете отправить дополнительные команды, используя —quote (или -Q ) для выполнения определенной операции до или после обычной операции curl; например, если вы хотите загрузить файл с удаленного сервера, используя протокол FTPS, и хотите, чтобы файл был удален с сервера после его успешной загрузки. Для этого вы можете запустить команду, показанную ниже:

 curl -u testlab\surender -kO "ftps://192. 168.0.80/awesomewebsite.com/files/sample1.zip" -Q "-DELE sample1.zip"
 

Удалить файл после успешной загрузки с помощью команды curl

Здесь я загрузил файл sample1.zip с FTPS-сервера с помощью опции -O . После параметра -Q я добавил знак минус (-) непосредственно перед командой DELE , которая указывает curl отправить команду DELE sample1.zip сразу после успешной загрузки файла. Аналогичным образом, если вы хотите отправить команду на сервер перед выполнением фактической операции curl, используйте знак плюс (+) вместо знака минус.

Изменить агент пользователя

Агент пользователя сообщает серверу, какой тип клиента отправляет запрос. Когда вы отправляете запрос curl на сервер, по умолчанию используется пользовательский агент curl/<версия> . Если сервер настроен на блокировку запросов curl, вы можете указать собственный пользовательский агент, используя —user-agent (или -A ). Следующая команда отправляет общий пользовательский агент Google Chrome:

 curl -kIA "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/106.0.0.0" https://awesomewebsite .com/files/secretFile.zip
 

Используйте пользовательский агент с командой curl, чтобы избежать блокировки сервера. запрос был выполнен успешно, вернув ответ 200 OK.

Отправить файл cookie

По умолчанию запрос curl не отправляет и не сохраняет файлы cookie. Чтобы записать файл cookie, используйте параметр —cookie-jar (или -c ) и с —cookie (или -b ), вы можете отправить файл cookie:

 curl -c /path/cookie_file https://awesomewebsite.com/
curl -b /path/cookie_file https://awesomewebsite.com/
 

Первая команда записывает файл cookie, а вторая команда отправляет файл cookie с запросом curl. Вы также можете отправить файл cookie в формате ‘имя = значение’ ‘, как показано ниже:

 curl -b 'session=abcxyz' -b 'loggedin=true' http://echo. hoppscotch.io
 

Отправить несколько файлов cookie с помощью команды curl

Я использовал веб-сайт echo.hoppscotch.io для просмотра заголовков HTTP-запросов, которые обычно не видны клиентам, отправляющим запрос. Если вы не хотите использовать этот веб-сайт, вы можете использовать параметр –verbose (или -v ), чтобы увидеть ваш запрос в необработанном виде (который также будет отображать заголовки запроса).

Использовать прокси-сервер

Используете ли вы прокси-сервер для подключения к Интернету? Без проблем! Curl позволяет указать прокси-сервер с помощью параметра —proxy 9.0058 (или -x ). Если ваш прокси-сервер требует аутентификации, добавьте —proxy-user (или -U ):

 curl -x 192.168.0.250:8088 -U имя пользователя:пароль https://awesomewebsite.com/
 

Прокси-сервер указывается в формате сервер:порт , а прокси-пользователь указывается в формате имя пользователя:пароль . Опять же, вы можете пропустить ввод пароля для прокси-пользователя, и curl предложит вам ввести его в режиме без эха.

Использовать прокси-сервер и аутентификацию с помощью команды curl

Дополнительные заголовки запроса

Иногда вам может понадобиться отправить дополнительную информацию вместе с вашим запросом на сервер. С curl вы можете сделать это легко, используя —header (или -H ), как показано в следующей команде:

 curl -vkIH "x-client-os: Windows 11 Enterprise (x64)" https ://awesomewebsite.com
 

Укажите дополнительные заголовки с запросом на завивание

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

Отправить электронное письмо

Поскольку curl поддерживает протокол SMTP, вы можете использовать его для отправки сообщения электронной почты. Следующая команда показывает, как отправить электронное письмо с помощью curl:

 curl --insecure --ssl-reqd smtps://mail.yourdomain.com --mail-from [email protected] --mail-rcpt Receiver@company .com --user [email protected] --upload-file email_msg.txt
 

Отправить сообщение электронной почты с помощью команды curl

Давайте быстро обсудим используемые параметры:

  • Команда —insecure (или -k ) используется, чтобы избежать ошибки сертификата SSL. Мы использовали это раньше.
  • Параметр —ssl-reql используется для обновления обычного текстового соединения до зашифрованного, если оно поддерживается SMTP-сервером. В качестве альтернативы, если вы уверены, что ваш SMTP-сервер поддерживает SSL, вы можете напрямую использовать smtps 9. 0058 имя сервера (например, smtps://smtp.yourdomain.com ), как вы можете видеть на скриншоте.
  • Параметр —mail-from используется для определения адреса электронной почты отправителя (от).
  • Параметр mail-rcpt указывает адрес электронной почты получателя.
  • Опция —user (или -u ) отправляет имя пользователя для аутентификации, которое должно совпадать с адресом mail-from , поскольку в противном случае ваше сообщение может быть отклонено или помечено как спам.
  • Параметр —upload-file (или -T ) используется для указания файла, содержащего сообщение электронной почты для отправки.

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

Просмотр сообщения электронной почты, отправленного с помощью curl

Просмотр сообщения электронной почты, отправленного с помощью curl

Подпишитесь на информационный бюллетень 4sysops!

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

Установка и использование curl | Zendesk Developer Docs

Во всех примерах в документации Zendesk REST API используется curl — облегченный инструмент командной строки для выполнения HTTP-запросов без веб-браузера. curl позволяет опробовать различные запросы API в интерфейсе командной строки, таком как командная строка в Windows или терминал в macOS. Вам не нужно создавать работающее веб-приложение только для того, чтобы опробовать API.

curl выполняет HTTP-запросы так же, как веб-браузер. Чтобы запросить веб-страницу из командной строки, введите curl , за которым следует URL-адрес сайта:

paragraph» data-garden-version=»8.39.0″>

Ответ веб-сервера отображается непосредственно в интерфейсе командной строки. Если вы запросили HTML-страницу, вы получите исходный код страницы, который обычно видит браузер.

Связанная тема

  • документация curl

Отказ от ответственности : Zendesk не может обеспечить поддержку сторонних технологий, таких как curl или Windows.

Использование curl

Вы можете использовать curl для проверки и тестирования различных запросов API Zendesk без необходимости создавать работающее веб-приложение. Например, следующий оператор curl отправляет HTTP-запрос к конечной точке List Groups в Zendesk API:

 
 curl https://mysubdomain.zendesk.com/api/v2/groups.json \  -v -u [email protected]:mypassword  

API возвращает объект JSON со списком групп в вашем Zendesk Экземпляр поддержки:

 
 {  "groups": [   {   "name": "DJs",   "created_at": "2009-05-13T00:07:08Z",   codeblock_code" data-garden-version="8.39.0"> "updated_at": "2011-07-22T00:11:12Z",   "id": 211   },   {   "name": "MC",   "created_at": "2009-08-26T00:07:08Z",   "updated_at": "2010-05-13T00:07:08Z",   "id": 122   }   ]   codeblock_code" data-garden-version="8.39.0"> }  

JSON (JavaScript Object Notation) — это облегченный формат обмена данными. Он разработан таким образом, чтобы людям было легко читать и писать, а машинам — анализировать и генерировать. Дополнительные сведения см. в разделе Работа с JSON.

Использование curl в Windows

Вы можете использовать командную строку Windows для запуска примеров curl. Чтобы запустить командную строку, откройте меню Start , введите cmd в поле поиска и нажмите Enter .

По умолчанию curl не установлен в Windows 10 версии 1803 или более ранней. См. Установка curl ниже, чтобы установить его в вашей системе.

). Во-вторых, если пример содержит данные JSON, перед запуском примера переместите данные в файл. В следующих разделах приведены более подробные сведения. 9 -v -u [электронная почта защищена]:мой пароль

Вы можете вставить многострочный оператор в командной строке, щелкнув значок в верхнем левом углу и выбрав Правка > Вставить . Если вы предпочитаете использовать клавиатуру, нажмите Alt+пробел , чтобы открыть меню, затем нажмите E и P .

Переместить данные JSON в файл

Командная строка Windows не поддерживает одинарные кавычки. Это проблема, потому что операторы curl используют одинарные кавычки для указания данных JSON. Пример: 9 -v -u {email_address}:{password} -X POST

Оператор указывает данные JSON для создания группы (флаг -d означает data ). Поскольку JSON заключен в одинарные кавычки, оператор не будет работать в командной строке.

Чтобы решить эту проблему, сохраните JSON в отдельном файле и импортируйте его в инструкцию curl. Чтобы изменить приведенный выше пример, создайте файл с именем json.txt , содержащий следующий текст:

9 , | . Если JSON включает HTML, например, когда вы пытаетесь создать или обновить статью в Справочном центре, вам нужно найти и удалить все угловые скобки в HTML.

Это утомительно и чревато ошибками. Лучше придерживаться импорта JSON из файла.

Установка curl

macOS

curl устанавливается по умолчанию в macOS. Чтобы попробовать это, см. Тестирование вашей установки curl ниже.

Windows 10, версия 1803 или более поздняя

Если у вас версия Windows 10 1803 или более поздняя, ​​curl устанавливается по умолчанию. Чтобы попробовать это, см. Тестирование вашей установки curl ниже.

Windows

Если у вас более ранняя версия Windows, чем Windows 10, версия 1803, вы можете загрузить и установить curl следующим образом.

  1. ordered_list_item» data-garden-version=»8.39.0″>

    В Windows создайте папку с именем curl на диске C:.

  2. Перейдите на https://curl.se/download.html и загрузите один из следующих zip-файлов:

    • Если у вас система Windows 64, перейдите к разделу Win64 — Generic и найдите последнюю версию Win64 ia64 zip 9.Версия 0436 с поддержкой SSL. Обычно он второй в списке. Щелкните номер версии, чтобы начать загрузку.
    • Если у вас система Windows 32, перейдите к разделу Win32 — Generic и найдите последнюю версию Win32 zip с поддержкой SSL. Обычно он второй в списке. Щелкните номер версии, чтобы начать загрузку.
  3. Разархивируйте загруженный файл и переместите файл curl.exe в папку C:\curl .

  4. Перейдите на https://curl.se/docs/caextract.html и загрузите файл цифрового сертификата с именем cacert.pem .

    Файл PEM содержит набор действительных цифровых сертификатов. Сертификаты используются для проверки подлинности безопасных веб-сайтов. Они распространяются такими компаниями, как центры сертификации (CA), такими как GlobalSign и VeriSign. Файл PEM позволяет curl безопасно подключаться к API Zendesk с использованием протокола Secure Sockets Layer (SSL).

  5. Переместите файл cacert.pem в папку C:\curl и переименуйте его в curl-ca-bundle.crt .

  6. Добавьте путь к папке curl в переменную среды Windows PATH, чтобы команда curl была доступна из любого места в командной строке. Обновите переменную следующим образом:

    1. В меню Пуск щелкните правой кнопкой мыши Этот компьютер и выберите Дополнительно > Свойства .

      Примечание : В Windows 7 щелкните правой кнопкой мыши Компьютер и выберите Свойства .

    2. Щелкните Дополнительные параметры системы .

    3. На вкладке Advanced нажмите кнопку Environment Variables в правом нижнем углу.

    4. Выберите переменную «Путь» в Системных переменных и нажмите Редактировать .

    5. В Редактировать переменную среды , щелкните New и добавьте путь к файлу curl.exe . Пример: C:\curl.

      Windows 7 : В текстовом поле Variable Value добавьте точку с запятой к значению, а затем путь к файлу curl.exe . Пример: ;C:\curl

    6. Продолжайте нажимать OK, чтобы принять изменение и закрыть диалоговое окно.

Проверка установки curl

paragraph» data-garden-version=»8.39.0″> Вы можете протестировать установку curl, отправив запрос в Zendesk API. Тест извлекает информацию о пользователе Zendesk Support. 9) характер. Убедитесь, что после знака вставки нет пробела. См. Использование curl в Windows выше.

  • Замените заполнители в фигурных скобках информацией, которую вы используете для входа в Zendesk Support. Пример:

     
     curl https://obscura.zendesk.com/api/v2/users/me.json \  -v -u [электронная почта защищена]:мой пароль  
  • Запустите интерфейс командной строки.

    • В Windows откройте меню «Пуск», введите cmd в поле поиска и нажмите Введите .
    • В macOS дважды щелкните приложение «Терминал» в папке «Приложения/Утилиты».
  • Скопируйте оператор curl из текстового файла и вставьте его в командную строку.

    Пользователи Windows : После копирования в буфер обмена выберите Правка > Вставить из контекстного меню в верхнем левом углу окна:

    39.0″>

  • Нажмите Введите , чтобы запустить оператор curl.

    Консоль должна отображать информацию о пользователе Zendesk Support в формате объекта JSON.

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

  • Общие флаги завитка

    Вы увидите следующие флаги завитка в примерах документации Zendesk REST API.

    paragraph» data-garden-version=»8.39.0″>

    Указывает любое дополнительное содержимое заголовка для включения в HTTP-запрос. Запросы API, которые отправляют данные на наши серверы, обычно включают тип содержимого данных. Пример:

    Пример: -H "Тип контента: application/json" .

    -u

    Указывает имя пользователя и пароль для проверки подлинности сервера. Имя пользователя и пароль разделяются двоеточием.

    Пример: -u [электронная почта защищена]:мой пароль

    paragraph» data-garden-version=»8.39.0″> -v

    Делает ответ более подробным.

    -X

    Указывает метод запроса, используемый при обмене данными с HTTP-сервером. Пример: PUT или POST.

    Примечание : GET является методом по умолчанию, поэтому вам не нужно его указывать.

    Пример: -X PUT

    -G —data-urlencode

    Используется для конечных точек API, которые отправляют данные в строке запроса, например API поиска. Параметр --data-urlencode url-кодирует строку запроса. 9Флаг 0419 -G указывает, что данные в кодировке URL предназначены для запроса GET, а не запроса POST.

    Например, предположим, что вы хотите выполнить следующий поиск с использованием конечной точки результатов поиска по списку:

    .../api/v2/search.json?query=type:ticket status:open

    Команда curl выглядит вот так:

     
     curl "https://{поддомен}.zendesk.com/api/v2/search.json" \  -G --data-urlencode "запрос=тип:статус заявки:открыт" \   codeblock_code" data-garden-version="8.39.0"> -v -u {email_address}:{пароль}  

    Как установить и использовать curl в Windows

    curl — это утилита командной строки, используемая в Windows, Linux и Mac OS для передачи и получения данных по различным протоколам, включая HTTPS, SMP, FTP, SFTP, Сравнение alt-svc, CA Extract, HSTS, SSL Certs и SSL libs и многое другое. Все функции curl, связанные с передачей, поддерживаются libcurl, которая представляет собой клиентскую библиотеку для передачи URL-адресов.

    Инструкции, необходимые для установки curl в Windows, будут проиллюстрированы в этом блоге.

    Установка curl в Windows

    Чтобы установить curl в Windows, выполните описанную ниже процедуру.

    Шаг 1. Загрузите установочный файл curl

    Сначала загрузите установочный файл curl для установки curl, перейдя по ссылке ниже:

    https://curl.se/download.html CTRL+F », чтобы просмотреть меню поиска, и введите « Windows », как показано на выделенной строке. Затем загрузите установочный файл curl в соответствии со спецификациями вашей системы. Например, мы выбрали « Windows 64-bit » бинарный установочный файл:

    В течение нескольких минут установочный файл « curl-7.84.0_4-win64-mingw.zip » будет загружен и сохранен в папке « Downloads ». :

    Шаг 2: Создайте папку «Curl»

    На следующем шаге создайте новую папку с именем « Curl » на диске C: Папка «Curl»

    Перейти к « Downloads », где сохранена заархивированная папка curl:

    Прежде чем копировать папку настройки curl, сначала извлеките ее, используя контекстное меню:

    Выберите извлеченную папку и нажмите « CTRL + C » чтобы скопировать его:

    Затем перейдите во вновь созданную папку «Curl» на диске C, откройте ее и нажмите « CTRL+V », чтобы вставить скопированную папку установки:

    Шаг 4 : Найдите и скопируйте путь установки curl

    Откройте папку настройки curl и перейдите в папку « bin », чтобы найти файл curl. exe:

    Найдя нужный файл curl.exe, щелкните правой кнопкой мыши путь к папке, чтобы скопировать его: Шаг 5: Установка пути в переменных среды

    После этого появится окно « Свойства системы ». Нажмите кнопку « Переменные среды »:

    Выберите « Путь » в разделе « Системные переменные » и нажмите кнопку « Редактировать » После этого нажмите

    2

    на кнопку « New » и вставьте скопированный путь к файлу настройки curl, как показано в выделенном ниже выводе. Затем нажмите кнопку « OK »:


    На данный момент мы успешно установили и настроили curl в нашей системе Windows. Давайте проверим установку curl, проверив его версию. Шаг 6. Проверка установки curl curl —version

    Как видите, мы успешно установили curl версии «9».0435 7.78.0 »в Windows.

    curl Использование в Windows

    Чтобы использовать curl в Windows, ознакомьтесь с приведенными ниже примерами.

    Пример 1: Получить URL-адрес домашней страницы

    Вы можете использовать команду curl вместе с URL-адресом, чтобы получить и распечатать домашнюю страницу любого веб-сайта. Например, следующая команда curl откроет домашнюю страницу Google:

    > curl www.google.com

    Пример 2: Получить информацию о заголовке

    Чтобы получить информацию о заголовке любого веб-сайта, используйте команду curl с параметром «-i» и укажите URL-адрес:

    > curl -i www.google.com

    В данном выводе отображается информация о заголовке веб-сайта Google. :

    Пример 3: Загрузка установочного файла

    Хотите загрузить установочный файл? Используйте команду curl и укажите URL нужного файла:

    > curl -O https://freefilesync.org/download.php

    Пример 4: Получение справки

    Когда команда curl выполняется с параметром « –help », она выводит свое руководство в командной строке:

    > curl —help

    У нас есть продемонстрировал способы установки и использования curl в Windows.

    Заключение

    Чтобы установить утилиту командной строки curl в Windows, сначала загрузите установочный файл программы установки. После этого создайте новый каталог curl на диске «C» и вставьте настройки во вновь созданную папку curl. Затем найдите и скопируйте путь установки и задайте его в переменных среды, как обсуждалось ранее. В этом блоге эффективно разработан метод установки и использования curl в Windows.

    CURL — Windows CMD — SS64.com

    CURL — Windows CMD — SS64.com

    • SS64
    • СМД
    • Практическое руководство

    Передача данных с сервера или на сервер с использованием одного из поддерживаемых протоколов (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP или FILE). Команда предназначена для работы без взаимодействия с пользователем.

    CURL был добавлен в Windows 10 (1903) из сборки 17063 или более поздней версии.

     Синтаксис
          завиток [  вариантов  ...]  url 
    
    Параметры:
    Эти параметры чувствительны к регистру, что типично для утилит Unix, но необычно для Microsoft Windows. 
    
         --abstract-unix-socket  путь  Подключиться через абстрактный сокет домена Unix
         --anyauth Выбрать любой метод аутентификации
     -a, --append Добавить к целевому файлу при загрузке
         --basic Использовать базовую HTTP-аутентификацию
     -A, --user-agent  имя  Отправить User-Agent  имя  на сервер
         --cacert  Сертификат ЦС  Сертификат ЦС для проверки равноправного узла
         --capath  dir  Каталог CA для проверки однорангового узла
     -B, --use-ascii Использовать ASCII/текстовый перенос
     -E, --cert  сертификат[:пароль]  Файл сертификата клиента и пароль
         --cert-status Проверить статус сертификата сервера
         --cert-type  type  Тип файла сертификата (DER/PEM/ENG)
         --ciphers SSL-шифры для использования
         --compressed Запросить сжатый ответ
     -К, --config  файл  Чтение конфигурации из файла
         --connect-timeout  секунд  Максимальное время, разрешенное для подключения
         --connect-to  HOST1:PORT1:HOST2:PORT2  Подключиться к хосту
     -C, --continue-at  offset  Смещение возобновленной передачи
     -b, --cookie  данные  Отправлять куки из строки/файла
     -c, --cookie-jar  имя файла  Записать куки в  имя файла  после операции
         --create-dirs Создать необходимую иерархию локальных каталогов
         --crlf Преобразовать LF в CRLF при загрузке
         --crlfile  файл  Получить список отзыва сертификатов в формате PEM из указанного файла
     -d, --data  данные  данные HTTP POST
         --data-ascii  данные  данные HTTP POST ASCII
         --data-binary  данные  двоичные данные HTTP POST
         --data-raw  данные  HTTP POST-данные, '@' разрешены
         --data-urlencode  data  URL-адрес данных HTTP POST закодирован
         --delegation  УРОВЕНЬ  Разрешение делегирования GSS-API
         --digest Использовать дайджест-аутентификацию HTTP
     -q, --disable Отключить . curlrc
         --disable-eprt Запретить использование EPRT или LPRT
         --disable-epsv Запретить использование EPSV
         --dns-интерфейс  интерфейс  Интерфейс, используемый для DNS-запросов
         --dns-ipv4-addr  address  IPv4-адрес, используемый для DNS-запросов
         --dns-ipv6-addr  address  IPv6-адрес, используемый для DNS-запросов
         --dns-servers  адресов  адресов DNS-серверов для использования
     -D, --dump-header  имя файла  Записать полученные заголовки в  имя файла 
         --egd-file  файл  Путь сокета EGD для случайных данных
         --двигатель  имя  Механизм шифрования для использования
         --expect100-timeout  секунд  Как долго ждать 100-продолжить
     -f, --fail Автоматический отказ (вообще без вывода) при ошибках HTTP
         --fail-early Сбой при первой ошибке передачи, не продолжать
         --false-start Включить ложный запуск TLS
     -F, --form  name=content  Указать составные данные HTTP POST
         --form-string  name=string  Указать составные данные HTTP POST
         --ftp-аккаунт  данные  Строка данных учетной записи
         --ftp-alternative-to-user  команда  Строка для замены USER [имя]
         --ftp-create-dirs Создать удаленные каталоги, если они отсутствуют
         --ftp-method  метод  Управление использованием CWD
         --ftp-pasv Использовать PASV/EPSV вместо PORT
     -P, --ftp-port  адрес  Использовать ПОРТ вместо PASV
         --ftp-pret Отправить PRET перед PASV
         --ftp-skip-pasv-ip Пропустить IP-адрес для PASV
         --ftp-ssl-ccc Отправить CCC после аутентификации
         --ftp-ssl-ccc-режим  активный/пассивный  Установить режим CCC
         --ftp-ssl-control Требовать SSL/TLS для входа на FTP, очистить для передачи
     -G, --get Поместите данные сообщения в URL-адрес и используйте GET
     -g, --globoff Отключить последовательности и диапазоны URL-адресов, используя {} и []
     -I, --head Показать только информацию о документе
     -H, --header  header/@file  Передать пользовательские заголовки на сервер
     -h, --help Этот текст справки
         --hostpubmd5  md5  Допустимый хэш MD5 открытого ключа хоста
     -0, --http1. 0 Использовать HTTP 1.0
         --http1.1 Использовать HTTP 1.1
         --http2 Использовать HTTP 2
         --http2-prior-knowledge Использовать HTTP 2 без обновления HTTP/1.1
         --ignore-content-length Игнорировать размер удаленного ресурса
     -i, --include Включить заголовки ответа протокола в вывод
     -k, --insecure Разрешить небезопасные подключения к серверу при использовании SSL
         --интерфейс  имя  Использовать сетевой ИНТЕРФЕЙС (или адрес)
     -4, --ipv4 Преобразовать имена в адреса IPv4
     -6, --ipv6 Преобразовать имена в адреса IPv6
     -j, --junk-session-cookies Игнорировать файлы cookie сеанса, считанные из файла
         --keepalive-time  секунд  Интервал для проверки активности
         --key  key  Имя файла закрытого ключа
         --key-type  type  Тип файла закрытого ключа (DER/PEM/ENG)
         --krb  уровень  Включить Kerberos с безопасностью  уровень 
         --libcurl  файл  Дамп эквивалентного libcurl кода этой командной строки
         --limit-rate  скорость  Ограничить скорость передачи до RATE
     -l, --list-only Режим только списка
         --local-port  число/диапазон  Принудительное использование RANGE для локальных номеров портов
     -L, --location Следовать перенаправлениям
         --location-trusted Аналогично --location и отправлять авторизацию на другие хосты
         --login-options  options  Опции входа на сервер
         --mail-аутентификация  адрес  Адрес отправителя исходного электронного письма
         --mail-from  адрес  Почта с этого адреса
         --mail-rcpt  адрес  Почта с этого адреса
     -M, --manual Показать полное руководство
         --max-filesize  байт  Максимальный размер загружаемого файла
         --max-redirs  число  Максимально допустимое количество перенаправлений
     -m, --max-time  time  Максимальное время, разрешенное для передачи
         --metalink Обрабатывать предоставленные URL-адреса как XML-файл metalink
         --negotiate Использовать аутентификацию HTTP Negotiate (SPNEGO)
     -n, --netrc Необходимо прочитать . netrc для имени пользователя и пароля
         --netrc-файл  имя файла  Указать ФАЙЛ для netrc
         --netrc-необязательный Использовать либо .netrc, либо URL
     -:, --next Заставить следующий URL использовать отдельный набор параметров
         --no-alpn Отключить расширение ALPN TLS
     -N, --no-buffer Отключить буферизацию выходного потока
         --no-keepalive Отключить поддержку TCP на соединении
         --no-npn Отключить расширение NPN TLS
         --no-sessionid Отключить повторное использование идентификатора сеанса SSL
         --noproxy  нет-прокси-список  Список хостов, которые не используют прокси
         --ntlm Использовать аутентификацию HTTP NTLM
         --ntlm-wb Использовать аутентификацию HTTP NTLM с winbind
         --oauth3-bearer  токен  токен носителя OAuth 2
     -o, --output  файл  Запись в файл вместо стандартного вывода
         --pass  фраза  Парольная фраза для закрытого ключа
         --path-as-is Не сжимать .. последовательности в пути URL
         --pinnedpubkey  хэшей  ФАЙЛОВ/ХЕШЕЙ Открытый ключ для проверки однорангового узла
         --post301 Не переключаться на GET после 301
         --post302 Не переключаться на GET после 302
         --post303 Не переключаться на GET после 303
         --preproxy [протокол://]хост[:порт] Сначала использовать этот прокси
     -#, --progress-bar Отображать ход передачи в виде полосы
         --прото  протоколов  Включить/выключить ПРОТОКОЛЫ
         --proto-default  протокол  Использовать ПРОТОКОЛ для любого URL-адреса, в котором отсутствует схема
         --proto-redir  протоколы  Включить/отключить ПРОТОКОЛЫ при перенаправлении
     -x, --proxy [протокол://]хост[:порт] Использовать этот прокси
         --proxy-anyauth Выбрать любой метод аутентификации прокси
         --proxy-basic Использовать обычную аутентификацию на прокси
         --proxy-cacert  файл  сертификат ЦС для проверки однорангового узла для прокси
         --прокси-капат  dir  Каталог ЦС для проверки однорангового узла для прокси
         --proxy-cert  cert[:passwd]  Установить клиентский сертификат для прокси
         --proxy-cert-type  type  Тип сертификата клиента для HTTS-прокси
         --proxy-ciphers  список  SSL-шифров для использования в прокси
         --proxy-crlfile  файл  Установить список отзыва сертификатов для прокси
         --proxy-digest Использовать дайджест-аутентификацию на прокси
         --proxy-header  заголовок/@файл Передать пользовательские заголовки в прокси
         --proxy-insecure Делать HTTPS-прокси-соединения без проверки прокси-сервера
         --proxy-key  key  Закрытый ключ для HTTPS-прокси
         --proxy-key-type  type  Тип файла закрытого ключа для прокси
         --proxy-negotiate Использовать аутентификацию HTTP Negotiate (SPNEGO) на прокси-сервере
         --proxy-ntlm Использовать аутентификацию NTLM на прокси
         --proxy-pass  фраза  Парольная фраза для закрытого ключа для HTTPS-прокси
         --прокси-имя-службы  имя  Имя прокси-сервиса SPNEGO
         --proxy-ssl-allow-beast Разрешить уязвимость безопасности для взаимодействия с HTTPS-прокси
         --proxy-tlsauthtype  type  Тип аутентификации TLS для HTTPS-прокси
         --proxy-tlspassword  строка  TLS-пароль для HTTPS-прокси
         --proxy-tlsuser  имя  Имя пользователя TLS для HTTPS-прокси
         --proxy-tlsv1 Использовать TLSv1 для HTTPS-прокси
     -U, --proxy-user  пользователь:пароль  Прокси-пользователь и пароль
         --proxy1. 0  host[:port]  Использовать прокси HTTP/1.0 на заданном порту
     -p, --proxytunnel Работать через туннель HTTP-прокси (используя CONNECT)
         --pubkey  key  SSH Имя файла открытого ключа
     -Q, --quote Отправить команды на сервер перед передачей
         --random-file  файл  Файл для чтения случайных данных из
     -r, --range  диапазон  Получить только байты в пределах ДИАПАЗОНА
         --raw Сделать HTTP «сырым»; нет декодирования передачи
     -е, --реферер  URL-адрес  URL-адрес реферера
     -J, --remote-header-name Использовать имя файла из заголовка
     -O, --remote-name Записать вывод в файл с именем удаленного файла
         --remote-name-all Использовать имя удаленного файла для всех URL-адресов
     -R, --remote-time Установить время удаленного файла на локальном выходе
     -X, --request  команда  Указать команду запроса для использования
         --request-target Указать цель для этого запроса
         --resolve  хост:порт:адрес  Разрешить хост + порт на этот адрес
         --retry  число  Повторить запрос, если возникают временные проблемы
         --retry-connrefused Повторить попытку при отказе в подключении (используйте с --retry)
         --retry-delay  секунд  Время ожидания между повторными попытками
         --retry-max-time  секунд  Повторить попытку только в течение этого периода
         --sasl-ir Включить первоначальный ответ при аутентификации SASL
         --service-name  имя  имя службы SPNEGO
     -S, --show-error Показать ошибку, даже если используется -s
     -s, --silent Тихий режим
         --socks4  host[:port]  SOCKS4 прокси на данном хосте + порт
         --socks4a  host[:port]  SOCKS4a прокси на данном хосте + порт
         --socks5  host[:port]  SOCKS5 прокси на данном хосте + порт
         --socks5-basic Включить авторизацию имени пользователя/пароля для прокси SOCKS5
         --socks5-gssapi Включить аутентификацию GSS-API для прокси-серверов SOCKS5
         --socks5-gssapi-nec Совместимость с сервером NEC SOCKS5
         --socks5-gssapi-service  имя  Имя прокси-службы SOCKS5 для GSS-API
         --socks5-имя хоста  host[:port]  SOCKS5 прокси, передать имя хоста прокси
     -Y, --speed-limit  скорость  Остановить передачу медленнее, чем это
     -y, --speed-time  секунд  Инициировать отмену ограничения скорости по истечении этого времени
         --ssl Попробуйте SSL/TLS
         --ssl-allow-beast Разрешить уязвимость безопасности для улучшения взаимодействия
         --ssl-no-revoke Отключить проверку отзыва сертификата (WinSSL)
         --ssl-reqd Требовать SSL/TLS
     -2, --sslv2 Использовать SSLv2
     -3, --sslv3 Использовать SSLv3
         --stderr Куда перенаправить stderr
         --suppress-connect-headers Подавить заголовки ответа CONNECT прокси-сервера
         --tcp-fastopen Использовать быстрое открытие TCP
         --tcp-nodelay Использовать параметр TCP_NODELAY
     -t, --telnet-опция  opt=val  Установить опцию telnet
         --tftp-blksize  значение  Установить параметр TFTP BLKSIZE
         --tftp-no-options Не отправлять параметры TFTP
     -z, --time-cond  time  Передача по условию времени
         --tls-max  ВЕРСИЯ  Используйте TLSv1. 0 или выше
         --tlsauthtype  тип  Тип аутентификации TLS
         --tlspassword Пароль TLS
         --tlsuser  имя  имя пользователя TLS
     -1, --tlsv1 Использовать TLSv1.0 или выше
         --tlsv1.0 Использовать TLSv1.0
         --tlsv1.1 Использовать TLSv1.1
         --tlsv1.2 Использовать TLSv1.2
         --tlsv1.3 Использовать TLSv1.3
         --tr-encoding Запросить сжатое кодирование передачи
         --трассировка  файл  Записать трассировку отладки в ФАЙЛ
         --trace-ascii  файл  Аналогично --trace, но без шестнадцатеричного вывода
         --trace-time Добавить временные метки в трассировку/подробный вывод
         --unix-socket  путь  Подключиться через этот сокет домена Unix
     -T, --upload-file  файл  Передать локальный ФАЙЛ в пункт назначения
         --url  url  URL для работы
     -B, --use-ascii Использовать ASCII/текстовый перенос
     -u, --user  пользователь:пароль  Пользователь сервера и пароль
     -A, --user-agent  имя  Отправить User-Agent  имя  на сервер
     -v, --verbose Сделать операцию более разговорчивой
     -V, --version Показать номер версии и выйти
     -w, --write-out  формат  Использовать формат вывода после завершения
         --xattr Сохранить метаданные в расширенных атрибутах файла 

    curl — мощный инструмент, используйте его ответственно.

    Примеры

    В этих примерах используется домен example.com, он содержит простой демонстрационный текст и разрешает подключения как по HTTP, так и по HTTPS.

    Получить веб-страницу, отобразить код состояния и весь необработанный контент страницы:

     C:\> curl https://example.com
    Код состояния: 200
    Описание статуса: ОК
    Содержимое: 
                        ... 

    Получить веб-страницу, отображать только код состояния и информацию заголовка:

     C:\> curl -I https://example.com
    HTTP/1.1 200 ОК
    Кодировка содержимого: gzip
    ... 

    Получить веб-страницу, передав определенный HTTP-заголовок User-Agent (некоторые веб-сайты используют это для прослушивания используемого браузера):

     C:\> curl -A "Mozilla FireFox(72.0)" https://example.com 

    Загрузить домашнюю страницу example.com в виде файла (testing.html):

    C:\> curl -o C:\demo\testing.html https://example.com/

    Получить список файлов с FTP-сервера (нулевой пароль):

    C:\> curl ftp://anonymous@speedtest. tele2.net

    «Потанцуем, миледи. Давайте метать и подметать между ними, пока сами небеса не отвиснут от изумления и зависти» — Гомер Симпсон (Boy Meets Curl)

    Связанные команды

    FTP — протокол передачи файлов.
    SSH — клиент удаленного входа OpenSSH.


     

    Copyright © 1999-2023 SS64.com
    Некоторые права защищены

    Windows 10/11: Microsoft по-прежнему поставляет старую версию cURL lib с уязвимостями (февраль 2023 г.)

    [немецкий] Это запутанная история, которую я снова публикую здесь, в блоге. Microsoft не поставляет cURL с Windows 10/11 таким образом, чтобы программное обеспечение было обновлено и больше не содержало известных уязвимостей. Я уже поднимал этот вопрос в блоге в январе 2022 года — но ничего не изменилось, как я мог видеть по собственным проверкам и в сообщении, полученном от Стефана Кантака. Вот краткое описание того, о чем идет речь.


    Реклама


    Что такое cURL?

    cURL (расшифровывается как «Клиент для URL-адресов» или «Библиотека запросов URL-адресов Curl») — это, с одной стороны, программная библиотека, а с другой — программа командной строки для передачи файлов в компьютерных сетях. cURL находится под открытой лицензией MIT и был перенесен на различные операционные системы.

    cURL в Windows 10/11 устарел

    Microsoft поставляет cURL с Windows 10 (а также в Windows 11) с 2017 года, как вы можете прочитать в этих статьях на веб-сайте cURL, а также в сообщении блога Microsoft Tar и Curl Come to Windows, последнее обновление 26 апреля 2022 г. Я обратился к нему в декабре 2017 г. в сообщении блога на немецком языке Windows 10: tar und curl sollen kommen. На веб-сайте cURL указано:

    С тех пор все установки Microsoft Windows 10 и Windows 11 устанавливаются по умолчанию curl. Первоначальная версия curl, поставляемая Microsoft, была 7.55.1, но она была обновлена ​​до 7.79..1 в январе 2022 г.

    Версия, предоставленная корпорацией Майкрософт, создана для использования серверной части Schannel TLS. […]

    Инструмент curl, поставляемый с Windows, создан и поддерживается корпорацией Майкрософт. Это отдельная сборка, в которой будут включены и отключены другие функции и возможности по сравнению со сборками Windows, предлагаемыми проектом curl. Однако они создают curl из одного и того же исходного кода. Если у вас есть проблемы с их версией curl, сообщите об этом им.

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

    cURL для Windows был обновлен до версии 7.88.1 20 февраля 2023 г. согласно веб-сайту cURL. Если я запрашиваю версию cURL в Windows 10 с текущим уровнем исправлений, я получаю следующее отображение:

    Windows 10 22h3 с уровнем исправлений от февраля 2023 г. сообщает о cURL 7.83.1 с датой выпуска 13 мая 2022 г. Они 9 месяцев до официального релиза проекта cURL. Если я запрашиваю в Интернете «уязвимости cURL 7.83.1», Google предоставляет мне ссылку на официальную страницу cURL, где написано:


    Реклама


    curl версия 7.83.1 выпущена 11 мая 2022 . Известно, что в этой версии существуют следующие 13 проблемы с безопасностью.

    Глупо смотреть, как действует Microsoft. Ребята из Microsoft раздувают фанфары о функциях безопасности (безопасная загрузка, TPM, защита от эксплойтов, защита от фишинга и т. д.), но в то же время они поставляют устаревшие библиотеки с известными уязвимостями в системах пользователей. Это точно так же, как и с продуктами, использующими фреймворк Electron, такими как Teams — также старательно поставлялась древняя версия браузера Chromium с известными уязвимостями.

    Microsoft знает, что

    Можно еще утверждать, что «что-то было упущено». Но есть способ, разработчики в Редмонде это знают и ничего не делают. В январе 2022 года, после подсказки Стефана Кантака, я уже обращался к этой теме в сообщении блога. Обновления безопасности Windows за январь 2022 года для уязвимости cURL CVE-2021-22947 — сложная задача для журналистов по безопасности. Кантхак предоставил мне сообщение с Microsoft, указывающее на уязвимости безопасности в cURL.

    Дни, когда Стефан Кантак прислал мне еще один адрес электронной почты выше небрежности относительно обновления cURL в Windows 10 и Windows 11. Вот текст без дальнейших комментариев с моей стороны — я не переводил его, потому что большая часть на английском языке:

     Привет Гюнтер,
    
    beim CC: habe ich dummerweise (D)eine falsche Mail-Adresse angegeben.
    
    Magst Du ueber deren fortlaufende Schlamperei und Unfaehigkeit, умереть
    eigenen Produktionssysteme mit aktuellen Quelltexten zu bestuecken,
    шрайбен?
    
    производство
    Стефан
    
    
    ----- Исходное сообщение -----
    От кого: "Стефан Кантак" <****>
    Кому: «Центр реагирования Microsoft Security» ; ; 
    Копия: ; <даниэль@****>
    Отправлено: 6 февраля 2023 г., 19:56
    Тема: ДЕСЯТЬ неисправленных CVE в УСТАРЕВШЕЙ версии curl.exe, которую Microsoft осмеливается поставлять с Windows!
    
    > Привет @ll,
    >
    > Microsoft снова/по-прежнему выпускает ГНИЛЬНУЮ и УЯЗВИМУЮ версию curl.exe
    > который отстает на 4 релиза и имеет ДЕСЯТЬ неисправленных CVE с Windows 10 и 11!
    >
    > Почему вы игнорируете свою собственную мантру «Держите свои системы в актуальном состоянии и исправляйте»?
    >
    > @MSRC: в прошлый раз это заняло более ПЯТИ месяцев, с 21 июля 2021 г. 
    >       Январь 2022 г., чтобы отправить версию, а затем «всего» 2 выпуска позади.
    >       См. дело MSRC 66388 CRM:0461283373
    >
    > @CERT Bund: wie waer's mit einer oeffentlichen Warnung vor diesem
    >            schlampig, fahr- und nachlaessig zusammengefrickelten Kram?
    >
    > @Daniel: пожалуйста, измените свою лицензию, чтобы запретить распространение уязвимых
    >         двоичные файлы, созданные из устаревших источников!
    >
    > C:\Users\Стефан>вер
    >
    > Microsoft Windows [Версия 10.0.19044.2486]
    >
    > C:\Users\Стефан>curl --version
    > curl 7.83.1 (Windows) libcurl/7.83.1 Schannel
    > Дата выпуска: 13 мая 2022 г.
    > Протоколы: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
    > Возможности: AsynchDNS HSTS IPv6 Kerberos Largefile NTLM SPNEGO SSL SSPI UnixSockets
    >
    > Из 
    >
    > #    S  Уязвимость                                                     Дата        Первая   Последняя
    > 132 ? CVE-2022-43552: HTTP-прокси запрещает использование после освобождения            2022-12-21  7. 16.0  7.86.0
    > 131 ? CVE-2022-43551: еще один обход HSTS через IDN               2022-12-21  7.77.0  7.86.0
    > 130 ? CVE-2022-42916: обход HSTS через IDN                      2022-10-26  7.77.0  7.85.0
    > 129 ? CVE-2022-42915: HTTP-прокси с двойной защитой                    2022-10-26  7.77.0  7.85.0
    > 128 ? CVE-2022-35260: синтаксический анализатор .netrc имеет доступ за пределами допустимого доступа        2022-10-26  7.84.0  7.85.0
    > 127 ? CVE-2022-32221: POST следует за ошибкой PUT              2022-10-26  7.7     7.85.0
    > 126 ? CVE-2022-35252: управляющий код отказа в обслуживании файлов cookie  2022-08-31  4.9     7.84.0
    > 125 ? CVE-2022-32208: проверка ошибочных сообщений FTP-KRB          27 06 2022  7.16.4  7.83.1
    > 124 ? CVE-2022-32207: Несохраненные права доступа к файлам              27 июня 2022  7.69.0 7.83.1
    > 123 ? CVE-2022-32206: отказ в обслуживании со сжатием HTTP        27 06 2022  7.57.0  7.83.1
    > 122 ? CVE-2022-32205: Отказ в обслуживании Set-Cookie              2022-06-27  7. 71.0  7.83.1
    >
    > НЕ УДОВЛЕТВОРЯЕТСЯ
    > Стефан Кантак
    >
    > ----- Исходное сообщение -----
    > От: "Стефан Кантак" 
    > Кому: "Центр реагирования Microsoft Security" 
    > Копия: ; 
    > Отправлено: среда, 21 июля 2021 г., 20:35.
    > Тема: УСТАРЕВШИЙ curl.exe 7.55.1
    >
    >> Привет безопасный,
    >>
    >> Windows 10 20х2, 20х3 и 21х2 поставляется с устаревшим и уязвимым
    >> curl.exe 7.55.1, 32 выпуска и не менее 15 (прописью: ПЯТНАДЦАТЬ) CVE
    >> за текущей версией 7.78.0: см.
    >>  и
    >> 
    >>
    >> | C:\Users\Public>винвер
    >> | Microsoft Windows [Версия 10.0.19042.1083]
    >> |
    >> | C:\Users\Public>завиток -V
    >> | curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
    >> | Дата выпуска: 14 ноября 2017 г., исправление безопасности: 05 ноября 2019 г.
    >> | Протоколы: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
    >> | Возможности: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL
    >>
    >> Ваши процессы настолько плохи, что вы не можете собрать текущую версию и
    >> должны вместо этого поставлять гнилое программное обеспечение?
    >>
    >> НЕ смешно
    >> Стефан Кантак
     

    Похожие статьи:
    Обновления безопасности Windows за январь 2022 г. для устранения уязвимости cURL CVE-2021-22947 — сложная задача для журналистов по вопросам безопасности


    Эта запись была опубликована в Безопасность, Программное обеспечение, Windows и помечена как Безопасность, Программное обеспечение, Windows 10, Windows 11. Добавьте постоянную ссылку в закладки.

    Установка curl (для Windows) | Устранение неполадок

    Команда curl, используемая в примерах облака частиц, обычно встроена в Mac и Linux, но не в Windows. В этих инструкциях объясняется, как его установить.

    Установка

    Загрузка

    Загрузите файлы с https://curl.haxx.se/download.html. Обычно вам нужен один из двух выделенных файлов, в зависимости от того, 32-разрядная у вас или 64-разрядная версия Windows:

    • Win32 Generic — Win32 zip 7.51.0 двоичный SSL SSH
    • Win64 Generic — Win64 x86_64 zip 7.51.0 двоичный SSL SSH

    Щелкните номер версии (например, 7.51.0), чтобы загрузить файл.

    Если вы не уверены, эта статья базы знаний Майкрософт о том, как определить, установлена ​​ли у вас 32-разрядная или 64-разрядная версия Windows, может оказаться полезной.

    Вам также следует перейти на страницу http://curl.haxx.se/docs/caextract.html. Щелкните правой кнопкой мыши ссылку на cacert.pem и выберите Сохранить цель , чтобы сохранить файл в папке «Загрузки».

    Сначала вам нужно создать место для сохранения установки curl. Мне нравится помещать файлы в C:\Program Files\curl. В проводнике Windows:

    1. Выбрать этот компьютер
    2. Выберите свой диск C:, который в этом примере называется Windows 10 (C:) , но может быть другим.
    3. Дважды щелкните Program Files

    Щелкните правой кнопкой мыши в правой части окна, выберите Новый , затем Папка .

    Назовите новую папку curl . Затем переместите загруженные файлы в этот каталог.

    Откройте загруженный ранее ZIP-файл. Внутри 9В папке 0435 src должен быть файл curl.exe . Скопируйте это в новый каталог, который вы только что создали.

    Также скопируйте файл cacert.pem.htm в каталог curl.

    Переименуйте файл cacert.pem.htm в curl-ca-bundle.crt . Вы должны получить предупреждение об изменении расширения имени файла. Нажмите Да .

    В зависимости от настроек вашей системы расширение имени файла может быть скрыто. Это вызовет некоторые проблемы. Вы можете сказать, потому что программа curl всего curl , а не curl.exe , а также cacert.pem имеет тип HTML-документ .

    Один из способов исправить это — просто включить просмотр расширений файлов. Откройте панель управления и выберите Внешний вид и персонализация .

    Затем Параметры папки .

    Перейдите на вкладку Просмотр (1) и снимите флажок Скрыть расширения для известных типов файлов (2).

    Затем вы можете, наконец, переименовать файл curl-ca-bundle.crt и отобразить его как тип Сертификат безопасности .

    Редактирование пути — Windows 10

    Щелкните меню «Пуск» Windows, затем «Настройки» (значок шестеренки).

    В окне настроек Windows 10 введите environment в поле вверху и выберите Изменить системные переменные среды.

    Нажмите кнопку Переменные среды внизу страницы.

    В окне Переменные среды выберите Путь в нижнем списке (Системные переменные) и нажмите Изменить.

    В окне Изменить переменную среды щелкните Новый , затем введите новую строку в таблице, C:\Program Files\curl .

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

    Редактирование пути — Windows 7 и 8

    Вам нужно открыть Панель управления.

    Затем нажмите Система и безопасность .

    Затем нажмите Система .

    Затем щелкните ссылку Дополнительные параметры системы в левой части окна.

    Затем щелкните Переменные среды…

    Щелкните Путь в нижнем списке (Системные переменные) и щелкните Изменить.

    Наконец, поместите курсор в конец поля и добавьте в конец:

     ;C:\Program Files\curl
     

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

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

    Тестирование

    Для большинства вызовов требуется токен доступа. В CLI вы можете создавать с помощью

    создание токенов частиц

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