Запускать команды cURL из консоли Windows

380

Есть ли способ установить cURL в Windows, чтобы запускать команды cURL из командной строки?

DomingoSL
источник
4
а потом всегда есть vbscript / powershell stackoverflow.com/questions/204759/http-get-in-vbs
Kalpesh Soni
мой curl установлен в xampp и включен, могу ли я заставить его работать в windows cmd?
Мастер Йода
1
Я заметил, что тот же вопрос был опубликован на SuperUser здесь: superuser.com/questions/134685/…
Simon East
4
Начиная с мая 2018 года, с Windows 10 build 1803, вы можете запускать curl прямо из консоли Windows: stackoverflow.com/a/50200838/6309
VonC
1
фактически curl был включен, так как инсайдерская сборка 17063 года
phuclv

Ответы:

449

Если вы не в Cygwin , вы можете использовать встроенные сборки Windows. Некоторые из них здесь: curl Download Wizard .

Габриэль Щербак
источник
Также msys2, о котором я еще не упоминал. Возможно, он уже есть, если вы установили Haskell в какой-то момент, например.
DPM
8
Вы можете установить Gitи использовать git bash. Встроенный после установки. (см. ответ ниже).
BRogers
167

Сначала вам нужно скачать исполняемый файл cURL. Для Windows 64bit загрузите его отсюда, а для Windows 32bit загрузите отсюда. После этого сохраните curl.exeфайл на свой C:диск.

Чтобы использовать его, просто откройте command promptи введите:

C:\curl http://someurl.com
Рикардо Санчес
источник
1
Черт возьми, да, это помогло. Очень просто. Спасибо за публикацию.
Адриан Карр
Очень важно использовать «вместо», если вы собираетесь делать это в Windows :)
chomp
144

Если вы Gitустановили на Windows, вы можете использовать GNU Bash.... он встроен.

/superuser/134685/run-curl-commands-from-windows-console/#483964

BRogers
источник
3
Это означает, что вы будете запускать его так же, как в OSX или Linux, без использования специальных команд. Просто начни Git Bashи
отвали
2
Этот ответ нуждается в большем количестве голосов. Это способ для пользователей, которым удобно работать с терминалами Mac или Unix.
BigRon
1
Спасибо :), поскольку я в любом случае использую Git (независимо от используемой ОС), мне нужно установить Git Bash. Я не люблю устанавливать волшебников или лишний раздуваться. Я также не большой поклонник попыток использовать PowerShell, чтобы делать все в Windows
BRogers
41

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

powershell -Command "(new-object net.webclient).DownloadString('http://example.com')"

что, хотя немного многословно, похоже на набор текста

curl http://example.com/

в более удобной среде Unix.

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

ОБНОВЛЕНИЕ: мне нравится, как ImranHafeez сделал еще один шаг в этом ответе . Однако я бы предпочел более простой cmd-скрипт, возможно, создав curl.cmdфайл, содержащий это:

@powershell -Command "(new-object net.webclient).DownloadString('%1')"

который может быть вызван так же, как пример Unix-ish выше:

curl http://example.com/
Мэтти
источник
Полномочия могут быть предоставлены powershell -Command "$wc=new-object net.webclient;$wc.Credentials=new-object System.Net.NetworkCredential(%user%,%pass%);$wc.DownloadString('%input%')"от stackoverflow.com/a/509394/4985705
Макс
ВНИМАНИЕ: Это НЕ передает параметры GET на страницу. Я использовал это со страницей PHP. curl https://www.example.com/mypage.php?action=hello, В скрипте mypage.php $_GET['action']пусто
Стивен Р.
25

Если вы используете менеджер пакетов Chocolatey , вы можете установить cURL , выполнив эту команду из командной строки или из PowerShell:

choco install curl
Хелен
источник
10

Создайте командный файл в Windows и наслаждайтесь cURL в Windows :)

@echo off
echo You are about to use windows cURL, Enter your url after curl command below:
set /p input="curl "
cls
echo %input%
powershell -Command "(new-object net.webclient).DownloadString('%input%')"
pause
ImranHafeez
источник
7
  1. Посетите страницу загрузки https://curl.haxx.se/download.html - это невероятно
  2. Выберите свою систему в списке
  3. Не забудьте поддержку SSL, это очевидно сейчас, например, для https
  4. Распаковка curl.exeи .crtкC:\Windows\System32
  5. Перезапустите cmd
  6. наслаждаться > curl https://api.stackexchange.com

ps Если вы хотите, чтобы в другой папке содержался исполняемый файл, проверьте ваши пути > echo %PATH%

vladkras
источник
6

он должен прекрасно работать, если вы загрузите его с - http://curl.haxx.se/dlwiz/?type=bin&os=Win64&flav=MinGW64 - ДЛЯ 64-битной Win7 / XP ИЛИ с http: //curl.haxx. se / dlwiz /? type = bin & os = Win32 & flav = - & ver = 2000% 2FXP --- ДЛЯ 32-битной Win7 / XP просто распакуйте файлы в c: / Windows и запустите его из cmd

C:\Users\WaQas>curl -v google.com
* About to connect() to google.com port 80 (#0)
*   Trying 173.194.35.105...
* connected
* Connected to google.com (173.194.35.105) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.28.1
> Host: google.com
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 301 Moved Permanently
< Location: http://www.google.com/
< Content-Type: text/html; charset=UTF-8
< Date: Tue, 05 Feb 2013 00:50:57 GMT
< Expires: Thu, 07 Mar 2013 00:50:57 GMT
< Cache-Control: public, max-age=2592000
< Server: gws
< Content-Length: 219
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< X-Cache: MISS from LHR-CacheMARA3
< X-Cache-Lookup: HIT from LHR-CacheMARA3:64003
< Connection: close
<
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
* Closing connection #0
Waqas
источник
5

Установите Git для Windows. Затем используйте git bash для запуска команд curl.

Parthiban
источник
это дубликат этого ответа: stackoverflow.com/questions/2710748/…
wisbucky
так как вызвать git-bash-curl прямо из cmd / powershell?
ГЭК
3

Я также обнаружил, что, если я поместил cygwin bin в путь Windows, я могу запустить curl из командной строки Windows. Это также даст вам доступ к таким вещам, как ls и grep

kingd9
источник
Вы можете сделать больше, если соответствующие двоичные файлы находятся в каталоге Cygwin / bin! Вы даже можете вызвать параметры компилятора gcc, make, zip, lynx и т. Д. Однако существуют некоторые ограничения, и вы, вероятно, захотите запустить Windows CMD с повышенными привилегиями администратора, затем перейти в каталог Cygwin или Cygwin64 в командной строке и затем вызвать пакетный файл Cygwin. Тем не менее, убедитесь, что в свойстве вашей системы для переменных среды в path вы указали путь к Cygwin64 / bin /. Теперь вы можете использовать бинарные файлы Unix для запуска в cmd.
Фрэнсис Куглер
3

Я смог использовать этот сайт, чтобы легко загрузить и установить curl на моем компьютере с Windows. Это заняло всего 30 секунд. Я использую Windows 7 (с привилегиями администратора), поэтому я скачал curl-7.37.0-win64.msi с http://curl.haxx.se/download.html .

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

maudulus
источник
3

Если вы новичок в игре или не можете установить программное обеспечение из-за ограничений безопасности, вы можете использовать Scoop для установки curl. Из PowerShell или окна команд выполните следующие команды. Обратите внимание, что предполагается, что у вас есть Powershell v3.0 +.

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

  1. Установить исключение при выполнении

    Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser
    
  2. Установить Scoop

    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    
  3. Установить локон. Может появиться предупреждение об отсутствующем хеше, но должно появиться последнее сообщение об успешной установке cURL.

    scoop install curl
    
  4. Проверьте установку скручивания

    curl -L https://get.scoop.sh
    
Ро Йо Ми
источник
1
Это был ответ, который я искал, скрытый на виду! iex (new-object net.webclient).downloadstring('https://a.url.here')скачать и запустить скрипт PS было как раз то, что мне было нужно.
Возможно, вы видите это имя.
3

Из командной строки Windows запустите curl через Git Bash

"C:\\Users\\sizu\\AppData\\Local\\Programs\\Git\\bin\\sh.exe" --login -i -c "curl https://www.google.com"
Скотт Идзу
источник
2
  1. Перейти к curl Download Wizard
  2. Выберите исполняемый файл curl
  3. Выберите Win32 или Win64
  4. Затем выберите пакет для него (например, generic / cygwin) согласно вашему требованию
  5. Тогда вам придется выбрать версию. Вы можете выбрать неопределенное.
  6. Это приведет вас непосредственно к ссылке для скачивания, которая при нажатии откроет всплывающее окно для загрузки zip-файла.
  7. Распакуйте zip, чтобы получить исполняемый файл. Добавьте эту папку в переменные окружения, и все готово. Затем вы можете выполнить команду curl из cmd.
Аникет Тхакур
источник
2

Загрузите файл .exe с веб- сайта https://cygwin.com/install.html для cygwin (большой набор инструментов GNU и Open Source, обеспечивающих функциональность, аналогичную дистрибутиву Linux в Windows).

Запустите файл .exe.

При установке вы получите возможность выбрать пакеты. В окне выбора пакета -> измените представление на «Не установлено» и выполните поиск скручивания. щелкните по необходимым пакетам для установки, щелкнув столбец «новый» для пакета -> вы увидите номер версии и затем нажмите «Далее». (см. изображение ниже)введите описание изображения здесь

После завершения установки нажмите на cygwin, чтобы открыть консоль curl в Windows и работать с командами curl.

случайный парень
источник
Зачем вам это нужно, если есть несколько ответов с более простым подходом?
Нико Хаазе
2
@NicoHaase Тот факт, что ответ отличается, не обязательно делает его неправильным. Так должно быть об ответах, а не только то , что толпа верит только лучший ответ ... иногда это не так . Я использовал это и дал ему +1, потому что это текущий способ его установки.
ΩmegaMan
1
@NicoHaase Если вы находитесь в точке A на треугольнике, а точки B и C находятся на одинаковом расстоянии от точки A. Сначала вы приказываете кому-то случайно отправиться в точку B или C, а затем вернуться в точку A, но не из той же точки. путь, по которому вы только что прошли. Какой ответ правильный: ABCA или ACBA? Как вы можете видеть, существует более одного правильного ответа, и оба стоят одинаково в выбранном курсе или пути!
Фрэнсис Куглер
2

Я могу немного опоздать на это, но я могу решить мою проблему с curl в cmd для Windows 10.

Я получил помощь из видеоуроки https://www.youtube.com/watch?v=qlTVMuONazs

Вот некоторые объяснения

Шаг 1: перейдите на https://curl.haxx.se/download.html

Шаг 2: найдите «Win64 - Generic» и загрузите «Win64 x86_64 7zip» от «Darren Owen»

Шаг 3: разархивируйте загружаемый файл и установите сертификат «ca-bundle.crt», не трогайте curl.exe

Шаг 4: в Windows перейдите в «Панель управления» -> «Система» -> «Расширенные настройки системы». Шаг 5: нажмите на переменные окружения

Шаг 6: В системной переменной нажмите «Путь» и вставьте путь к папке с файлом, в моем случае это «C: \ curl \ curl_7_53_1_openssl_nghttp2_x64»

И вы сделали.

Не забудьте перезагрузить систему на один раз

Кямран Сохаил
источник
1

Установите командную строку git отсюда . Когда вы устанавливаете git в Windows, вы автоматически получаете скручивание. Вы можете проверить установленную версию curl, используя curl --versionэто.

введите описание изображения здесь

Это пример запроса curl, который отправляет строку в объект JSON и кодирует ее.

curl https://api.base62.io/encode \ --request POST \ --header "Content-Type: application/json" \ --data '{ "data": "Hello world!" }'

введите описание изображения здесь

Ишара Амарасекера
источник
так как вызвать git-bash-curl прямо из cmd / powershell?
ГЭК
1

Самый простой ответ:

(1) Загрузите бинарный файл curl здесь: https://curl.haxx.se/download.html (см. Бинарный файл для вашей ОС). Пример:

Выберите 64 бит или 32 бит после клика

(2) Создайте папку «C: \ curl» и распакуйте все

Посмотрите файл .crt, это - сертификат SSL, который уже идет с пакетом curl

(3) Отредактируйте системную переменную с именем «Path», добавив в конце «; C: \ curl \ bin» . Законченный.

введите описание изображения здесь

Obs .: Я видел, как некоторые парни говорили, что нужно добавить "; C: \ curl", но таким образом невозможно получить доступ к curl.exe .

Дэвидсон Лима
источник
1

В Windows 10 Insider build 17063 curl доступен в cmd и powershell с начала 2018 года.

Jojo
источник
0

Для тех, кто ищет быстрое решение, после стандартной установки Cygwin, но выяснения curl не работает на платформе Win 10 x64:

Скачиваем этот удаленный репозиторий, распаковываем его и запускаем:

ГИТ-cmd.bat

Работал как шарм. Я предполагаю, что у него есть предустановленная опция для curl.

в
источник