Утилита командной строки curl

Формы

Формы — основной способ представления web-сайта как HTML-страницы
с полями, в которые пользователь вводит данные, и затем нажимает на
кнопку ‘OK’ или ‘Отправить’, после чего данные отсылаются на сервер.
Затем сервер использует принятые данные и решает, как действовать
дальше: искать информацию в базе данных, показать введенный адрес на
карте, добавить сообщение об ошибке или использовать информацию для
аутентификации пользователя. Разумеется, на стороне сервера имеется
какая-то программа, которая принимает ваши данные.

4.1 GET

GET-форма использует метод GET, например следующим образом:

        <form method="GET" action="junk.cgi">
        <input type=text name="birthyear">
        <input type=submit name=press value="OK">
        </form>

Если вы откроете этот код в вашем браузере, вы увидите форму с
текстовым полем и кнопку с надписью «OK». Если вы введете
‘1905’ и нажмете OK, браузер создаст новый URL, по которому и
проследует. URL будет представляться строкой, состоящей из пути
предыдущего URL и строки, подобной
«junk.cgi?birthyear=1905&press=OK».

Например, если форма располагалась по адресу
«www.hotmail.com/when/birth.html», то при нажатии на кнопку
OK вы попадете на URL
«www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK».

Большинство поисковых систем работают таким образом.

Чтобы curl сформировал GET-запрос, просто введите то, что
ожидалось от формы:

        # curl "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK"

4.2 POST

Метод GET приводит к тому, что вся введенная информация
отображается в адресной строке вашего браузера. Может быть это
хорошо, когда вам нужно добавить страницу в закладки, но это
очевидный недостаток, когда вы вводите в поля формы секретную
информацию, либо когда объем информации, вводимый в поля, слишком
велик (что приводит к нечитаемому URL).

Протокол HTTP предоставляет метод POST. С помощью него клиент
отправляет данные отдельно от URL и поэтому вы не увидете их в
адресной строке.

Форма, генерирующая POST-запрос, похожа на предыдущую:

        <form method="POST" action="junk.cgi">
        <input type=text name="birthyear">
        <input type=submit name=press value=" OK ">
        </form>

Curl может сформировать POST-запрос с теми же данными следующим
образом:

        # curl -d "birthyear=1905&press=%20OK%20" www.hotmail.com/when/junk.cgi

Этот POST-запрос использует ‘Content-Type
application/x-www-form-urlencoded’, это самый широко используемый
способ.

Данные, которые вы отправляете к серверу, должны быть правильно
закодированы
, curl не будет делать это за вас. К примеру, если вы
хотите, чтобы данные содержали пробел, вам нужно заменить этот пробел
на %20 и т.п. Недостаток внимания к этому вопросу — частая ошибка,
из-за чего данные передаются не так, как надо.

4.3 Загрузка файлов с помощью POST (File Upload POST)

В далеком 1995 был определен дополнительный способ передавать
данные по HTTP. Он задокументирован в RFC 1867, поэтому этот способ
иногда называют RFC1867-posting.

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

        <form method="POST" enctype='multipart/form-data' action="upload.cgi">
        <input type=file name=upload>
        <input type=submit name=press value="OK">
        </form>

Заметьте, что тип содержимого Content-Type установлен в
multipart/form-data.

Чтобы отослать данные в такую форму с помощью curl, введите
команду:

        # curl -F upload=@localfilename -F press=OK 

4.4 Скрытые поля

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

Простой пример формы с одним видимым полем, одним скрытым и
кнопкой ОК:

        <form method="POST" action="foobar.cgi">
        <input type=text name="birthyear">
        <input type=hidden name="person" value="daniel">
        <input type=submit name="press" value="OK">
        </form>

Чтобы отправить POST-запрос с помощью curl, вам не нужно думать о
том, скрытое поле или нет. Для curl они все одинаковы:

        # curl -d "birthyear=1905&press=OK&person=daniel" 

4.5 Узнать, как выглядит POST-запрос

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

Простой способ увидеть свой POST-запрос, это сохранить
HTML-страницу с формой на диск, изменить метод на GET, и нажать
кнопку ‘Отправить’ (вы можете также изменить URL, которому будет
передаваться данные).

Вы увидите, что данные присоединились к URL, отделенные символами
‘?’, как и предполагается при использовании GET-форм.

Quirks

If you get an annoying error message when you try to upgrade from version 7.35.0 to a newer version, read this. (Don’t worry, it’s easy to fix.).

If you try to upgrade your old version of cURL with a different package, you will be prompted to manually uninstall it before installing the new version. For example, if you installed cURL 7.33.0 with curl-7.33.0-win32.msi, and you run curl-7.34.0-win64.msi, the installation will be blocked untill you uninstall the old one. On the other hand, if you used curl-7.33.0-win32.msi and you run curl-7.34.0-win32.msi, it will upgrade automatically.

Your web browser or anti-virus software might tell you the installer is a security threat, but I promise cURL for Windows does not contain any security threats.

Finally, I’m not a professional programmer; while I’m confident this software won’t do any harm to your computer, I can’t promise it will work perfectly, and therefore, disclaimer: use this software at your own risk.

Notes:

  • The official cURL website
  • The installer is tested on Windows 7 and Windows XP
  • This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)
  • This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)
  • This product includes software written by Tim Hudson (tjh@cryptsoft.com)
  • This build of cURL is linked with zlib (Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler)
  • cURL and libcurl Copyright (c) 1996 — 2013, Daniel Stenberg, (daniel@haxx.se).
  • The cURL for Windows installer is not affiliated with the official cURL project or haxx.se.

13. Отладка

Часто бывает так, что сайт реагирует на запросы curl не так, как
на запросы браузера. В этом случае нужно максимально уподобить curl
браузеру:

  • Используйте ключ —trace-ascii для
    сохранения подробного отчета запросов, чтобы затем подробно изучить
    их и разобраться в проблеме.

  • Убедитесь, что вы проверяете на
    cookies и используете их при необходимости (ключ чтения -b и
    сохранения -c)

  • Укажите в поле ‘user-agent’ один
    из последних популярных браузеров

  • Заполните поле ‘referer’ как это
    делает браузер

  • Если вы используете POST-запросы, убедитесь, что все поля
    передаются в том же порядке, что и браузер (см. выше, пункт 4.5)

Хороший помощник в этом нелегком деле — плагин для Mozilla/Firefox
,
который позволяет просматривать все заголовки, которые отправляет и
принимает этот браузер (даже при использовании HTTPS).

Более низкоуровневый подход — захват HTTP-траффика в сети с
помощью программ, таких как ethereal или tcpdump, с последующим
анализом, какие заголовки были получены и отправлены браузером (HTTPS
делает этот подход неэффективным).

HTTPS

Secure HTTP requires a TLS library to be installed and used when curl is built. If that is done, curl is capable of retrieving and posting documents using the HTTPS protocol.

Example:

curl is also capable of using client certificates to get/post files from sites that require valid certificates. The only drawback is that the certificate needs to be in PEM-format. PEM is a standard and open format to store certificates with, but it is not used by the most commonly used browsers. If you want curl to use the certificates you use with your (favourite) browser, you may need to download/compile a converter that can convert your browser’s formatted certificates to PEM formatted ones.

Example on how to automatically retrieve a document using a certificate with a personal password:

If you neglect to specify the password on the command line, you will be prompted for the correct password before any data can be received.

Many older HTTPS servers have problems with specific SSL or TLS versions, which newer versions of OpenSSL etc use, therefore it is sometimes useful to specify what SSL-version curl should use. Use -3, -2 or -1 to specify that exact SSL version to use (for SSLv3, SSLv2 or TLSv1 respectively):

Otherwise, curl will attempt to use a sensible TLS default version.

MingW32

Make sure that MinGW32’s bin dir is in the search path, for example:

set PATH=c:\mingw32\bin;%PATH%

then run in the root dir. There are other
make targets available to build libcurl with more features, use:

  • to build with Zlib support;
  • to build with SSL and Zlib enabled;
  • to build with SSH2, SSL, Zlib;
  • to build with SSH2, SSL, Zlib
    and SSPI support.

If you have any problems linking libraries or finding header files, be sure
to verify that the provided files use the proper paths, and
adjust as necessary. It is also possible to override these paths with
environment variables, for example:

set ZLIB_PATH=c:\zlib-1.2.8
set OPENSSL_PATH=c:\openssl-1.0.2c
set LIBSSH2_PATH=c:\libssh2-1.6.0

It is also possible to build with other LDAP SDKs than MS LDAP; currently
it is possible to build with native Win32 OpenLDAP, or with the Novell CLDAP
SDK. If you want to use these you need to set these vars:

set LDAP_SDK=c:\openldap
set USE_LDAP_OPENLDAP=1

or for using the Novell SDK:

set USE_LDAP_NOVELL=1

If you want to enable LDAPS support then set LDAPS=1.

Как пользоваться curl?

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

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

Самая частая задача — это загрузка файлов linux. Скачать файл очень просто. Для этого достаточно передать утилите в параметрах имя файла или html страницы:

curl https://raw.githubusercontent.com/curl/curl/master/README.md

Но тут вас ждет одна неожиданность, все содержимое файла будет отправлено на стандартный вывод. Чтобы записать его в какой-либо файл используйте:

curl -o readme.txt https://raw.githubusercontent.com/curl/curl/master/README.md

А если вы хотите, чтобы полученный файл назывался так же, как и файл на сервере, используйте опцию -O:

curl -O https://raw.githubusercontent.com/curl/curl/master/README.md

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

curl -# -C — -O https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.11-rc7.tar.xz

Если нужно, одной командой можно скачать несколько файлов:

curl -O https://raw.githubusercontent.com/curl/curl/master/README.md -O https://raw.githubusercontent.com/curl/curl/master/README

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

curl -z 21-Dec-17 https://raw.githubusercontent.com/curl/curl/master/README.md -O https://raw.githubusercontent.com/curl/curl/master/README

Данная команда скачает файл, только если он был изменен после 21 декабря 2017.

Ограничение скорости

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

curl —limit-rate 50K -O https://cdn.kernel.org/pub/linux/kernel/v4.x/testing/linux-4.11-rc7.tar.xz

Здесь нужно указать количество килобайт в секунду, которые можно загружать. Также вы можете разорвать соединение если скорости недостаточно, для этого используйте опцию -Y:

curl -Y 100 -O https://raw.githubusercontent.com/curl/curl/master/README.md

Передача файлов

Загрузка файлов, это достаточно просто, но утилита позволяет выполнять и другие действия, например, отправку файлов на ftp сервер. Для этого существует опция -T:

curl -T login.txt ftp://speedtest.tele2.net/upload/

Или проверим отправку файла по HTTP, для этого существует специальный сервис:

curl -T ~/login.txt http://posttestserver.com/post.php

В ответе утилита сообщит где вы можете найти загруженный файл.

Отправка данных POST

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

curl -d «field1=val&fileld2=val1″http://posttestserver.com/post.php

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

curl -F «password=@pass;type=text/plain» http://posttestserver.com/post.php

Здесь мы передаем формой поле password, с типом обычный текст, точно так же вы можете передать несколько параметров.

Передача и прием куки

Куки или Cookie используются сайтами для хранения некой информации на стороне пользователя. Это может быть необходимо, например, для аутентификации. Вы можете принимать и передавать Cookie с помощью curl. Чтобы сохранить полученные Cookie в файл используйте опцию -c:

curl -c cookie.txt http://posttestserver.com/post.php

Затем можно отправить cookie curl обратно:

curl -b cookie.txt http://posttestserver.com/post.php

Передача и анализ заголовков

Не всегда нам обязательно нужно содержимое страницы. Иногда могут быть интересны только заголовки. Чтобы вывести только их есть опция -I:

curl -I https://losst.ru

А опция -H позволяет отправить нужный заголовок или несколько на сервер, например, можно передать заголовок If-Modified-Since чтобы страница возвращалась только если она была изменена:

curl -I —хедер ‘If-Modified-Since: Mon, 26 Dec 2016 18:13:12 GMT’ https://losst.ru

Аутентификация curl

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

curl -u ftpuser:ftppass -T — ftp://ftp.testserver.com/myfile_1.txt

Точно так же будет выполняться аутентификация на серверах HTTP.

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

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

curl -x proxysever.test.com:3128 http://google.co.in

HTTPS is HTTP secure

There are a few ways to do secure HTTP transfers. By far the most common protocol for doing this is what is generally known as HTTPS, HTTP over SSL. SSL encrypts all the data that is sent and received over the network and thus makes it harder for attackers to spy on sensitive information.

SSL (or TLS as the latest version of the standard is called) offers a truckload of advanced features to allow all those encryptions and key infrastructure mechanisms encrypted HTTP requires.

Curl supports encrypted fetches when built to use a TLS library and it can be built to use one out of a fairly large set of libraries — will show which one your curl was built to use (if any!). To get a page from a HTTPS server, simply run curl like:

POST

The GET method makes all input field names get displayed in the URL field of your browser. That’s generally a good thing when you want to be able to bookmark that page with your given data, but it is an obvious disadvantage if you entered secret information in one of the fields or if there are a large amount of fields creating a very long and unreadable URL.

The HTTP protocol then offers the POST method. This way the client sends the data separated from the URL and thus you won’t see any of it in the URL address field.

The form would look very similar to the previous one:

And to use curl to post this form with the same data filled in as before, we could do it like:

This kind of POST will use the Content-Type `application/x-www-form-urlencoded’ and is the most widely used POST kind.

The data you send to the server MUST already be properly encoded, curl will not do that for you. For example, if you want the data to contain a space, you need to replace that space with %20 etc. Failing to comply with this will most likely cause your data to be received wrongly and messed up.

Recent curl versions can in fact url-encode POST data for you, like this:

If you repeat several times on the command line, curl will concatenate all the given data pieces — and put a symbol between each data segment.

Получаем последний статус Twitter

С помощью PHP и cURL очень просто получить статус определённого пользователя. Данную информацию можно выводить в блоге.

function get_status($twitter_id, $hyperlinks = true) {
    $c = curl_init();
    curl_setopt($c, CURLOPT_URL, "http://twitter.com/statuses/user_timeline/$twitter_id.xml?count=1");
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    $src = curl_exec($c);
    curl_close($c);
    preg_match('/<text>(.*)<\/text>/', $src, $m);
    $status = htmlentities($m);
    if( $hyperlinks ) $status = ereg_replace("]+://]+/]", '<a href="%5C%22%5C%5C0%5C%22">\\0</a>', $status);
    return($status);
}

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

echo get_status('catswhocode');

Проверка http заголовков с помощью Curl

Для проверки заголовков мы тоже можем использовать утилиту curl. Чтобы вывести заголовки страницы запустите ее с опцией -I:

Здесь отображается код ответа сервера, а также принятые http заголовки. Из них мы можем сделать такие выводы:

  • Страница сгенерирована в nginx 1.10.2;
  • Это обычная html страница (text/html);
  • Размер страницы 102452 байт или 100 кб;
  • Страница последний раз изменялась 18:13:12 (last_modified) это очень важный параметр для поисковых систем;
  • Сервер будет выдавать разные версии страниц при изменении поля Accept-Encoding (Vary);
  • Страница может храниться в любом кэше (public) на протяжении часа (expires);

Таким способом может быть выполнена проверка http заголовков для любой страницы или ресурса чтобы сразу определить все ли отправляется правильно. Например, посмотрим заголовки для изображения:

Мы можем видеть, что картинка будет храниться в кэше намного дольше (max-age) чем html страница.

Осталось проверить работают ли такие заголовки, как If-Modified-Since и If-None-Match. Первый позволяет выполнять проверку актуальности кэша по дате модификации, второй — по контрольной сумме поля ETag. Кэш очень важен, чтобы снизить нагрузку на ваш сервер. Если страница не изменилась, то сервер лишь сообщает что она не изменилась, отправляя код ответа 304, вместо передачи полного файла.

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

Проверка If-Modified-Since

Сначала запрашиваем нашу страницу для просмотра заголовков http, а затем копируем поле Last-Modified:

Теперь запрашиваем ее еще раз, но уже с заголовком If-Modified-Since: и ваша дата:

В ответ вы должны получить не саму страницу, а только заголовок HTTP/1.1 304 Not Modified. Если так, значит проверка кода ответа сервера пройдена и все работает верно.

Проверка If-None-Match

Заголовок If-None-Match работает похожим образом, только здесь используется значение контрольной суммы кэша из поля ETag. Опять запросим нашу страницу и скопируем сумму:

Затем отправим полученную сумму с заголовком:

И снова мы должны получить ответ 304, страница не изменена.

Проверка сжатия

Сжатие позволяет уменьшить размер передаваемых данных, но в то же время создает дополнительную нагрузку на сервер. Чтобы проверить поддерживает ли сервер сжатие gzip нужно отправить в запросе заголовок Accept-Encoding с параметром gzip:

В ответе мы увидим поле Content-Encoding: gzip. Это будет означать, что сжатие используется.

Time Conditions

HTTP allows a client to specify a time condition for the document it requests. It is or . curl allows you to specify them with the / flag.

For example, you can easily make a download that only gets performed if the remote file is newer than a local copy. It would be made like:

Or you can download a file only if the local file is newer than the remote one. Do this by prepending the date string with a , as in:

You can specify a «free text» date as condition. Tell curl to only download the file if it was updated since January 12, 2012:

Curl will then accept a wide range of date formats. You always make the date check the other way around by prepending it with a dash ().

cURL в командной строке

cURL начинался как инструмент командной строки для передачи данных с использованием синтаксиса Uniform Resource Locator (URL).
Ввиду популярности этой функции в форме командной строки была создана библиотека для ее интеграции в приложения.
Сегодня cURL для командной строки служит оболочкой библиотеки cURL.
Эта статья начинается с изучения cURL в командной строке, а затем углубляется в использование этой утилиты в качестве библиотеки.

Две типичных области применения cURL – это передача файлов с использованием протоколов HTTP и FTP.
cURL предоставляет простой интерфейс к этим и другим протоколам.
Чтобы извлечь файл из Web-сайта с помощью HTTP, достаточно указать cURL имя локального файла, в который нужно записать Web-страницу, а также URL Web-сайта и файл для передачи.
Слишком много слов для той простой командной строки, которая приведена в листинге 1.

Листинг 1. Пример использования cURL для извлечения файла с Web-сайта
$ curl -o test html www.exampledomain.com
  % Total    % Received % Xferd  Average Speed    Time    Time     Time    Current
                                 Dload  Upload    Total   Spent    Left    Speed
100 43320  100 43320    0     0  55831       0 --:--:-- --:--:-- --:--:--  89299
$

Обратите внимание: я указал домен, а не файл, так что получу корневой файл (index.html). Чтобы передать этот файл на сайт FTP с использованием cURL, нужно указать файл для загрузки с опцией , а затем ввести URL FTP-сайта и путь к файлу (листинг 2)

Листинг 2.
Пример использования cURL для загрузки файла на FTP-сайт
$ curl -T test.html ftp://user:password@ftp.exampledomain.com/ftpdir/
  % Total    % Received % Xferd  Average Speed    Time    Time     Time    Current
                                 Dload  Upload    Total   Spent    Left    Speed
100 43320    0     0  100 43320      0  38946   0:00:01 0:00:01  --:--:--    124k
$

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

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

9 ответов

73

Загрузите cURL для Windows из здесь (и обязательно выберите его из Win32 — общий вниз на странице).

Затем поместите его в каталог внутри вашей переменной среды PATH (например: )) или запустите его с полным путем, предшествующим исполняемому имени.

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

80

Если вы устанавливаете Git for Windows , вы автоматически получаете Curl. Существуют следующие преимущества:

  • Git автоматически выполняет настройку во время установки.
  • Вы получаете GNU bash , действительно мощную оболочку, на мой взгляд, намного лучше, чем родная консоль Windows.
  • Вы получаете множество других полезных инструментов Linux, таких как tail, cat, grep, gzip, pdftotext, less, sort, tar, vim и даже Perl.

2

После установки OpenSSL Light перезагрузите Windows, откройте командную строку, затем выполните тестовую команду, например:

Если вы вернете HTML-теги, это сработало.

2

Как настроить cURL:

  • Загрузите и распакуйте 64-разрядную cURL с помощью SSL.
  • Скопируйте файл в папку Windows . По умолчанию это .
  • Загрузите и установите 64-разрядный 64-разрядный ресурс Runtime Visual Studio 2010 C ++ здесь .
  • Загрузите последний пакет открытых ключей Certficate Authority из mozilla.org здесь .
  • Переименуйте этот файл из в .
  • Переместите этот файл в папку Windows .

Как протестировать его:

  • Запустите , чтобы открыть командную строку.
  • Для обеих команд вы должны увидеть пару страниц исходного кода HTML. Если вы видите это, cURL запущен и работает!

2

Tar и Curl доступны в Windows, начиная с Insider Build 17063, в составе инструментальной цепочки Windows: curl и bsdtar.

Tar : инструмент командной строки, который позволяет пользователю извлекать файлы и создавать архивы. Вне PowerShell или установки стороннего программного обеспечения не удалось извлечь файл из cmd.exe. Реализация использует libarchive.

1

Вы можете установить этот «cURL для Windows»:
cURL для Windows — это установщик MSI для cURL, популярного инструмента переноса веб-страниц в командной строке.
http://www.confusedbycode.com/curl/

1

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

, который, хотя и немногословный, похож на ввод

в более среде Unix-ish.

Дополнительная информация о доступна здесь: Методы WebClient (System.Net) .

Не нужно перезапускать окна, но необходимо перезапустить CMD.

  1. Установите cURL из curl.haxx.se .
  2. Установите переменную окружения Path в соответствии с расположением curl.exe на вашем компьютере, что-то вроде C: \ Users \ You \ cURL
  3. Загрузить файл сертификата с сайта mozilla.org, связанный в одном из
    ответы выше, и переместите его в папку system32.

Я использовал ответ fuxia для запуска некоторых сценариев bash, которые я написал в Linux на платформе Windows. Это работает очень хорошо.

Слово осторожности, но с помощью. У меня была проблема, когда я не мог использовать взаимодействие консоли при аутентификации, как описано здесь:
https://stackoverflow.com/questions/50724407/curl-command-in-git-bash. Если ваша команда требует аутентификации, и вы не хотите, чтобы пароль был видимым в командной строке или сохранен в вашем скрипте, вам придется использовать другое решение, например, используя файл паролей:
https://stackoverflow.com/questions/2594880/using-curl-with- а-имя пользователя-и-пароль

Если ваша команда требует аутентификации, и вы не хотите, чтобы пароль был видимым в командной строке или сохранен в вашем скрипте, вам придется использовать другое решение, например, используя файл паролей:
https://stackoverflow.com/questions/2594880/using-curl-with- а-имя пользователя-и-пароль

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector