Uruchom polecenia cURL z konsoli Windows

380

Czy istnieje sposób zainstalowania cURL w systemie Windows w celu uruchamiania poleceń cURL z wiersza poleceń?

DomingoSL
źródło
4
a potem zawsze jest vbscript / powershell stackoverflow.com/questions/204759/http-get-in-vbs
Kalpesh Soni
mój curl jest zainstalowany w Xampp i jest włączony, czy mogę sprawić, by działał w Windows cmd?
Mistrz Yoda,
1
Zauważyłem, że to samo pytanie zostało zadane na SuperUser tutaj: superuser.com/questions/134685/...
Simon East,
4
Od maja 2018 r., Z kompilacją systemu Windows 10 w wersji 1803, możesz uruchomić curl bezpośrednio z konsoli Windows: stackoverflow.com/a/50200838/6309
VonC
1
faktycznie curl został uwzględniony, odkąd kompilacja
phuclv

Odpowiedzi:

449

Jeśli nie interesujesz się Cygwinem , możesz używać rodzimych kompilacji Windows. Niektóre są tutaj: curl Download Wizard .

Gabriel Ščerbák
źródło
Także msys2, o którym jeszcze nie wspominałem. Możesz go już mieć, jeśli na przykład zainstalowałeś Haskell.
DPM,
8
Możesz zainstalować Giti używać git bash. Wbudowany po instalacji. (patrz odpowiedź poniżej).
BRogers
167

Najpierw musisz pobrać plik wykonywalny cURL. W przypadku systemu Windows 64 -bitowego pobierz go stąd, a w przypadku systemu Windows 32-bitowego pobierz stąd. Zapisz curl.exeplik na C:dysku.

Aby z niego skorzystać, po prostu otwórz command prompti wpisz:

C:\curl http://someurl.com
Ricardo Sanchez
źródło
1
Cholera, tak, pomogło. Bardzo łatwe. Dzięki za wysłanie.
Adrian Carr
Naprawdę ważne jest, aby używać „zamiast”, jeśli masz zamiar to zrobić w systemie Windows :)
chomp
144

Jeśli Gitzainstalowałeś w systemie Windows, możesz użyć GNU Bash.... jest wbudowany.

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

BRogers
źródło
3
Oznacza to, że uruchomiłbyś go tak samo, jak w OSX lub Linux bez użycia specjalnych poleceń btw. Po prostu zacznij Git Bashi cURL stąd :)
BRogers
2
Ta odpowiedź wymaga więcej głosów pozytywnych. Jest to sposób na przejście dla użytkowników komfortowych z terminalem Mac lub dystrybucjami unix.
BigRon
1
Dziękuję :) ponieważ i tak używam Git przede wszystkim (niezależnie od używanego systemu operacyjnego), muszę zainstalować Git Bash. Nie lubię instalować kreatorów ani dodatkowego wzdęcia. Nie jestem też wielkim fanem próbowania używania programu PowerShell do robienia wszystkiego w systemie Windows
systemie BRogers
41

Osoby, które dosłownie nie potrzebują curlpliku wykonywalnego, ale raczej muszą np. Zobaczyć lub zapisać wyniki żądania GET od czasu do czasu, mogą korzystać powershellbezpośrednio. W normalnym wierszu polecenia wpisz:

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

co, choć trochę nieporadne, jest podobne do pisania

curl http://example.com/

w środowisku bardziej uniksowym.

Więcej informacji na temat net.webclientjest dostępnych tutaj: WebClient Methods (System.Net) .

AKTUALIZACJA: Podoba mi się, jak ImranHafeez posunął się o krok dalej tej odpowiedzi . Wolałbym jednak prostszy skrypt cmd, może tworząc curl.cmdplik zawierający:

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

które można nazwać tak jak w powyższym przykładzie uniksowym:

curl http://example.com/
matty
źródło
Poświadczenia można podać powershell -Command "$wc=new-object net.webclient;$wc.Credentials=new-object System.Net.NetworkCredential(%user%,%pass%);$wc.DownloadString('%input%')"na stronie stackoverflow.com/a/509394/4985705
Maks.
OSTRZEŻENIE: NIE przekazuje parametrów GET do strony. Użyłem tego ze stroną PHP. curl https://www.example.com/mypage.php?action=hello. W skrypcie mypage.php $_GET['action']jest pusty
Stephen R
10

Utwórz plik wsadowy w Windows i ciesz się z CURL w 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
źródło
7
  1. Odwiedź stronę pobierania https://curl.haxx.se/download.html - to niesamowite
  2. Wybierz swój system z listy
  3. Nie zapomnij o obsłudze SSL, teraz jest to oczywiste, np. Dla https
  4. Rozpakuj curl.exei .crtdoC:\Windows\System32
  5. Uruchom ponownie cmd
  6. Cieszyć się > curl https://api.stackexchange.com

ps Jeśli chcesz, aby inny folder przechowywał plik wykonywalny, sprawdź ścieżki > echo %PATH%

Vladkras
źródło
6

powinien działać idealnie dobrze, jeśli chcesz go pobrać z - http://curl.haxx.se/dlwiz/?type=bin&os=Win64&flav=MinGW64 - FOR 64BIT Win7 / XP LUB z http: //curl.haxx. se / dlwiz /? type = bin & os = Win32 & flav = - & ver = 2000% 2FXP --- FOR 32BIT Win7 / XP po prostu rozpakuj pliki do c: / Windows i uruchom je z 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
źródło
5

Zainstaluj Git dla Windows Następnie użyj git bash, aby uruchomić polecenia curl.

Parthiban
źródło
to jest duplikat tej odpowiedzi: stackoverflow.com/questions/2710748/…
wisbucky
więc jak wywołać git-bash-curl bezpośrednio z cmd / powershell?
gek
3

Odkryłem również, że jeśli ustawię bin cygwin na mojej ścieżce systemu Windows, mogę uruchomić curl z wiersza poleceń systemu Windows. Daje ci również dostęp do rzeczy takich jak ls i grep

kingd9
źródło
Możesz zrobić więcej, jeśli odpowiednie pliki binarne znajdują się w katalogu Cygwin / bin! Możesz nawet wywoływać opcje kompilatora gcc, make, zip, lynx itp. Istnieją jednak pewne ograniczenia i prawdopodobnie będziesz chciał uruchomić Windows cmd z podniesionymi uprawnieniami administratora, a następnie przejść do katalogu Cygwin lub Cygwin64 w wierszu polecenia, a następnie wywołać plik wsadowy Cygwin. Upewnij się jednak, że we właściwości systemu dla zmiennych środowiskowych pod ścieżką ustaw ścieżkę na Cygwin64 / bin /. Teraz możesz używać binariów uniksowych do uruchamiania w cmd.
Francis Cugler,
3

Byłem w stanie użyć tej strony, aby łatwo pobrać i zainstalować curl na moim komputerze z systemem Windows. Zajęło to wszystkie 30 sekund. Korzystam z systemu Windows 7 (z uprawnieniami administratora), więc pobrałem curl-7.37.0-win64.msi z http://curl.haxx.se/download.html .

Nie zapomnij również zrestartować konsoli / terminala po zainstalowaniu curl, w przeciwnym razie otrzymasz te same komunikaty o błędach.

maudulus
źródło
3

Zakładając, że jesteś nowy w grze lub nie możesz zainstalować oprogramowania z powodu ograniczeń bezpieczeństwa, możesz użyć Scoop do zainstalowania curl. Z poziomu programu PowerShell lub okna poleceń uruchom następujące polecenia. Zauważ, że zakłada się, że masz Powershell v3.0 +.

Inną fajną zaletą jest to, że instaluje oprogramowanie tylko dla bieżącego użytkownika.

  1. Ustaw wyjątek wykonania

    Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser
    
  2. Zainstaluj Scoop

    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    
  3. Zainstaluj curl. Możesz zobaczyć ostrzeżenie o brakującym haszu, ale powinieneś zobaczyć końcowy komunikat, że cURL został pomyślnie zainstalowany

    scoop install curl
    
  4. Przetestuj instalację curl

    curl -L https://get.scoop.sh
    
Ro Yo Mi
źródło
1
To była odpowiedź, której szukałem ukryty na widoku! iex (new-object net.webclient).downloadstring('https://a.url.here')aby pobrać i uruchomić skrypt PS, właśnie tego potrzebowałem.
Być może widzisz to imię.
3

W wierszu polecenia systemu Windows uruchom curl za pomocą Git Bash

"C:\\Users\\sizu\\AppData\\Local\\Programs\\Git\\bin\\sh.exe" --login -i -c "curl https://www.google.com"
Scott Izu
źródło
2
  1. Idź do curl Download Wizard
  2. Wybierz plik wykonywalny curl
  3. Wybierz Win32 lub Win64
  4. Następnie wybierz pakiet (np. Ogólny / cygwin) zgodnie z wymaganiami
  5. Następnie musisz wybrać wersję. Możesz wybrać nieokreślony.
  6. Spowoduje to bezpośrednie przejście do pobierania linku, który po kliknięciu wyświetli wyskakujące okienko do pobrania pliku zip.
  7. Rozpakuj zip, aby uzyskać plik wykonywalny. Dodaj ten folder do zmiennych środowiskowych i gotowe. Następnie możesz wykonać polecenie curl z cmd.
Aniket Thakur
źródło
2

Pobierz plik .exe z https://cygwin.com/install.html dla cygwin (duży zbiór narzędzi GNU i Open Source, które zapewniają funkcjonalność podobną do dystrybucji Linuksa w systemie Windows).

Uruchom plik .exe.

Podczas instalacji przejdziesz do kroku wyboru pakietów. W oknie wyboru pakietu -> zmień widok na „Niezainstalowany” i wyszukaj curl. kliknij niezbędne pakiety do zainstalowania, klikając kolumnę „nowa” dla pakietu -> możesz zobaczyć numer wersji, a następnie kliknij przycisk Dalej. (patrz zdjęcie poniżej)wprowadź opis zdjęcia tutaj

Po zakończeniu instalacji kliknij cygwin, aby otworzyć konsolę curl w systemie Windows i pracować z poleceniami curl.

losowa osoba
źródło
Dlaczego potrzebujesz tego, jeśli istnieje wiele odpowiedzi z prostszym podejściem?
Nico Haase
2
@NicoHaase Tylko dlatego, że odpowiedź jest inna, niekoniecznie musi być zła. Tak powinno być o odpowiedzi, nie tylko to, co tłum wierzy jest tylko najlepszą odpowiedzią ... czasami tak nie jest. Użyłem tego i dałem +1, ponieważ jest to obecny sposób instalacji.
ΩmegaMan
1
@NicoHaase Jeśli znajdujesz się w punkcie A na trójkącie, a punkty B i C znajdują się w tej samej odległości od punktu A. Polecasz komuś losowe podróżowanie do punktu B lub C, a następnie podróż do punktu A, ale nie z tego samego ścieżka, z której przed chwilą podróżowałeś. Która odpowiedź jest prawidłowa: ABCA lub ACBA? Jak widać, istnieje więcej niż jedna poprawna odpowiedź i obie są warte tego samego na przyjętym kursie lub ścieżce!
Francis Cugler,
2

Być może jestem trochę spóźniony, ale jestem w stanie rozwiązać problem zwijania się w cmd dla Windows 10.

Otrzymałem pomoc od poniższego samouczka wideo https://www.youtube.com/watch?v=qlTVMuONazs

Oto wyjaśnienie

Krok 1: przejdź do https://curl.haxx.se/download.html

Krok 2: Wyszukaj „Win64 - ogólny” i pobierz „Win64 x86_64 7zip” według „Darren Owen”

Krok 3: Rozpakuj pobrany plik i zainstaluj certyfikat „ca-bundle.crt”, nie dotykaj curl.exe

Krok 4: w systemie Windows przejdź do „Panelu sterowania” -> „System” -> „Zaawansowane ustawienia systemu” Krok 5: kliknij zmienne środowiskowe

Krok 6: W zmiennej systemowej kliknij „Ścieżka” i wklej ścieżkę folderu plików w moim przypadku jest to „C: \ curl \ curl_7_53_1_openssl_nghttp2_x64”

I gotowe.

Nie zapomnij ponownie uruchomić systemu raz

Kamran Sohail
źródło
1

Zainstaluj tutaj linię poleceń git . Po zainstalowaniu git w Windows automatycznie będziesz się z nim zwijał. Możesz sprawdzić zainstalowaną wersję curl za pomocą curl --versiontego.

wprowadź opis zdjęcia tutaj

To jest przykładowe żądanie curl, które wysyła ciąg znaków do obiektu JSON i koduje go.

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

wprowadź opis zdjęcia tutaj

Ishara Amarasekera
źródło
więc jak wywołać git-bash-curl bezpośrednio z cmd / powershell?
gek
1

Najprostsza odpowiedź:

(1) Pobierz curl binary tutaj: https://curl.haxx.se/download.html (zobacz binarny system operacyjny). Przykład:

Wybierz 64-bitowy lub 32-bitowy po kliknięciu

(2) Utwórz folder „C: \ curl”, a następnie rozpakuj wszystko

Zobacz plik .crt, to znaczy certyfikat SSL, który jest już dostarczany z pakietem curl

(3) Edytuj zmienną systemową o nazwie „Ścieżka”, dodając na końcu „; C: \ curl \ bin” . Skończone.

wprowadź opis zdjęcia tutaj

Obs .: Widziałem kilku facetów, którzy dodają „; C: \ curl”, ale w ten sposób nie można uzyskać dostępu do curl.exe .

Davidson Lima
źródło
1

W Windows 10 Insider build 17063 curl jest dostępny w cmd i PowerShell od początku 2018 roku.

Jojo
źródło
0

Dla każdego, kto szuka szybkiego rozwiązania, po zainstalowaniu standardowego programu cygwin, ale odkrywaniu curl, nie działa na platformie Windows 10 x64:

Pobieranie tego wycofanego repozytorium, rozpakowywanie go i uruchamianie:

git-cmd.bat

Działa jak urok. Zakładam, że ma wstępnie zainstalowaną opcję zwijania.

w
źródło