เรียกใช้คำสั่ง cURL จากคอนโซล Windows


380

มีวิธีติดตั้ง cURL ใน Windows เพื่อเรียกใช้คำสั่ง cURL จากพรอมต์คำสั่งหรือไม่


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
จริงขดถูกรวมตั้งแต่ภายในสร้าง 17063 เป็นต้นไป
phuclv

คำตอบ:


449

หากคุณไม่ได้เข้าสู่Cygwinคุณสามารถใช้งานบิลด์ Windows แบบเนทีฟ บางคนอยู่ที่นี่: ขดดาวน์โหลดตัวช่วยสร้าง


อีกทั้ง msys2 ซึ่งฉันยังไม่เห็นพูดถึง คุณอาจมีมันแล้วถ้าคุณติดตั้ง Haskell ในบางจุดเช่น
DPM

8
คุณสามารถติดตั้งGitและใช้ bash git ในตัวหลังจากติดตั้ง (ดูคำตอบด้านล่าง)
BRogers

167

ก่อนอื่นคุณต้องดาวน์โหลดไฟล์ cURL สำหรับ Windows 64 บิตให้ดาวน์โหลดจากที่นี่และสำหรับ Windows 32 บิตที่ดาวน์โหลดจากที่นี่ หลังจากนั้นให้บันทึกcurl.exeไฟล์ไว้ในC:ไดรฟ์ของคุณ

หากต้องการใช้ให้เปิดcommand promptและพิมพ์ใน:

C:\curl http://someurl.com

1
เฮ้ใช่ที่ช่วย ง่ายมาก. ขอบคุณสำหรับการโพสต์
Adrian Carr

มันเป็นสิ่งสำคัญมากที่จะใช้ "แทนคำว่า 'ถ้าคุณกำลังจะทำมันใน Windows :)
chomp

144

หากคุณGitติดตั้งบน windows คุณสามารถใช้GNU Bash.... มันมีอยู่แล้วภายใน

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


3
ซึ่งหมายความว่าคุณจะรันเหมือนที่คุณใช้จาก OSX หรือ Linux โดยไม่ต้องใช้คำสั่งพิเศษ btw เพียงแค่เริ่มต้นGit Bashและขดห่าง :)
BRogers

2
คำตอบนี้ต้องการ upvotes เพิ่มเติม นี่เป็นวิธีที่จะช่วยให้ผู้ใช้สะดวกสบายกับการใช้งาน mac terminal หรือ unix distributions
BigRon

1
ขอบคุณ :) เนื่องจากฉันใช้ Git เป็นหลักอยู่แล้ว (โดยไม่คำนึงถึงระบบปฏิบัติการที่ฉันใช้) ฉันต้องติดตั้ง Git Bash ฉันไม่ชอบการติดตั้งพ่อมดหรือ bloat พิเศษ ฉันยังไม่ใช่แฟนตัวยงของการพยายามใช้ PowerShell เพื่อทำทุกอย่างในหน้าต่าง
BRogers

41

ผู้ใช้ที่ไม่จำเป็นต้องใช้งานcurlโปรแกรม แต่ต้องการดูหรือบันทึกผลลัพธ์ของคำขอ GET เป็นครั้งคราวสามารถใช้งานpowershellได้โดยตรง จากพรอมต์คำสั่งปกติให้พิมพ์:

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

ซึ่งในขณะที่คำพูดเล็กน้อยคล้ายกับการพิมพ์

curl http://example.com/

ในสภาพแวดล้อม Unix-ish ที่มากขึ้น

ข้อมูลเพิ่มเติมเกี่ยวกับnet.webclientที่นี่: วิธี WebClient (System.Net)

UPDATE: ฉันชอบ ImranHafeez ที่จะก้าวไปอีกขั้นหนึ่งในคำตอบนี้ ฉันต้องการ cmd-script ที่ง่ายกว่าอย่างไรก็ตามอาจสร้าง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']ว่างเปล่า
Stephen R


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

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

ป.ล. ถ้าคุณต้องการให้โฟลเดอร์อื่นเก็บการปฏิบัติการให้ตรวจสอบพา ธ > echo %PATH%


6

มันควรจะทำงานได้อย่างสมบูรณ์แบบถ้าคุณจะดาวน์โหลดจาก - http://curl.haxx.se/dlwiz/?type=bin&os=Win64&flav=MinGW64 - สำหรับ 64BIT Win7 / XP หรือจากhttp: //curl.haxx se / dlwiz /? type = bin & os = Win32 & flav = - & ver = 2000% 2FXP --- สำหรับ 32BIT 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


3

ฉันยังพบว่าถ้าฉันวาง cygwin bin บนเส้นทางหน้าต่างของฉันฉันสามารถเรียกใช้ curl จากบรรทัดคำสั่งของ windows นอกจากนี้ยังจะช่วยให้คุณเข้าถึงสิ่งต่าง ๆ เช่น ls และ grep


คุณสามารถทำได้มากกว่านั้นถ้าไบนารีที่เหมาะสมอยู่ในไดเรกทอรี Cygwin / bin! คุณสามารถเรียกตัวเลือกคอมไพเลอร์ของ gcc, make, zip, lynx และอื่น ๆ ได้ แต่มีข้อ จำกัด บางอย่างและคุณอาจต้องการเรียกใช้ windows cmd เพื่อยกระดับเป็นสิทธิ์ระดับผู้ดูแลระบบจากนั้นไปที่ไดเรกทอรี Cygwin หรือ Cygwin64 ของคุณ ไฟล์แบตช์ Cygwin อย่างไรก็ตามตรวจสอบให้แน่ใจว่าในคุณสมบัติของระบบของคุณสำหรับตัวแปรสภาพแวดล้อมภายใต้พา ธ คุณตั้งค่าพา ธ เป็น Cygwin64 / bin / ตอนนี้คุณสามารถใช้ Unix ไบนารีเพื่อทำงานภายใน cmd
ฟรานซิส Cugler

3

ฉันสามารถใช้ไซต์นี้ เพื่อดาวน์โหลดและติดตั้ง curl บนเครื่อง Windows ของฉันได้อย่างง่ายดาย ใช้เวลาทั้งหมด 30 วินาที ฉันกำลังใช้ Windows 7 (พร้อมรางวัลผู้ดูแลระบบ) ดังนั้นฉันจึงดาวน์โหลด curl-7.37.0-win64.msi จากhttp://curl.haxx.se/download.html http://curl.haxx.se/download.html

นอกจากนี้อย่าลืมรีสตาร์ทคอนโซล / เทอร์มินัลหลังจากคุณติดตั้ง curl มิฉะนั้นคุณจะได้รับข้อความแสดงข้อผิดพลาดเดียวกัน


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
  2. เลือกไฟล์ปฏิบัติการแบบม้วน
  3. เลือก Win32 หรือ Win64
  4. จากนั้นเลือกแพคเกจมัน (เช่นทั่วไป / cygwin) ตามความต้องการของคุณ
  5. จากนั้นคุณจะต้องเลือกรุ่น คุณสามารถเลือกไม่ได้ระบุ
  6. นี่จะนำคุณไปยังลิงค์ดาวน์โหลดโดยตรงซึ่งเมื่อคลิกจะให้ป๊อปอัปดาวน์โหลดไฟล์ zip
  7. คลายซิปออกเพื่อให้สามารถเรียกใช้งานได้ เพิ่มโฟลเดอร์นี้ในตัวแปรสภาพแวดล้อมของคุณและคุณทำเสร็จแล้ว จากนั้นคุณสามารถเรียกใช้งานคำสั่ง curl จาก cmd

2

ดาวน์โหลดไฟล์. exe จากhttps://cygwin.com/install.htmlสำหรับ cygwin (ชุดเครื่องมือ GNU และ Open Source ขนาดใหญ่ซึ่งให้การทำงานเหมือนกับการแจกจ่าย Linux บน Windows)

เรียกใช้ไฟล์. exe

ขณะติดตั้งคุณจะได้รับขั้นตอนในการเลือกแพ็คเกจ ในหน้าต่างแพ็คเกจเลือก -> เปลี่ยนมุมมองเป็น "ไม่ได้ติดตั้ง" และค้นหา curl คลิกที่แพ็คเกจที่จำเป็นในการติดตั้งโดยคลิกที่คอลัมน์ "ใหม่" สำหรับแพ็คเกจ -> คุณสามารถดูหมายเลขรุ่นแล้วคลิกถัดไป (ดูภาพที่แนบมาด้านล่าง)ป้อนคำอธิบายรูปภาพที่นี่

หลังจากเสร็จสิ้นการติดตั้งให้คลิกที่ cygwin เพื่อเปิดคอนโซล curl บน windows และทำงานกับคำสั่ง curl


ทำไมคุณต้องทำเช่นนั้นถ้ามีคำตอบหลายคำตอบด้วยวิธีที่ง่ายกว่า
Nico Haase

2
@NicoHaase เพียงเพราะคำตอบที่แตกต่างกันไม่ได้ทำให้ผิด ดังนั้นควรเกี่ยวกับคำตอบไม่ใช่แค่สิ่งที่ฝูงชนเชื่อว่าเป็นเพียงคำตอบที่ดีที่สุด ... บางครั้งมันก็ไม่ใช่ ฉันใช้สิ่งนี้และให้ +1 เนื่องจากเป็นวิธีปัจจุบันในการติดตั้ง
ΩmegaMan

1
@NicoHaase ถ้าคุณอยู่ที่จุด A บนสามเหลี่ยมและจุด B & C นั้นอยู่ห่างจากจุด A เดียวกันคุณแนะนำให้ใครบางคนเดินทางแบบสุ่มไปที่จุด B หรือ C ก่อนจากนั้นจึงเดินทางกลับไปยังจุด A แต่ไม่ใช่จากจุดเดิม เส้นทางที่คุณเพิ่งเดินทางจาก คำตอบใดถูกต้อง: ABCA หรือ ACBA อย่างที่คุณเห็นมีคำตอบที่ถูกต้องมากกว่าหนึ่งคำตอบและทั้งคู่ก็คุ้มค่าเหมือนกันในเส้นทางหรือเส้นทางที่ถ่าย!
ฟรานซิส Cugler

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

ติดตั้งบรรทัดคำสั่งคอมไพล์จากที่นี่ เมื่อคุณติดตั้งคอมไพล์ใน windows คุณจะได้รับ curl โดยอัตโนมัติ คุณสามารถตรวจสอบ curl รุ่นที่ติดตั้งโดยใช้curl --versionสิ่งนี้

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือตัวอย่างคำขอขดซึ่งส่งสตริงในวัตถุ JSON และได้รับการเข้ารหัส

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

ป้อนคำอธิบายรูปภาพที่นี่


ดังนั้นวิธีการโทร git-bash-curl โดยตรงจาก cmd / powershell?
gek

1

คำตอบที่ง่ายที่สุด:

(1) ดาวน์โหลด curl binary ที่นี่: https://curl.haxx.se/download.html (ดูไบนารีสำหรับระบบปฏิบัติการของคุณ) ตัวอย่าง:

เลือก 64 บิตหรือ 32 บิตหลังจากคลิก

(2) สร้างโฟลเดอร์ "C: \ curl" จากนั้นแตกไฟล์ทั้งหมดที่นั่น

ดูไฟล์. crt นั่นคือใบรับรอง SSL ที่มาพร้อมกับแพ็คเกจ curl

(3) แก้ไขตัวแปรระบบที่เรียกว่า "เส้นทาง" โดยการเพิ่ม"; C: \ curl \ bin"ในท้ายที่สุด เสร็จ

ป้อนคำอธิบายรูปภาพที่นี่

Obs .: ผมเคยเห็นผู้ชายบางคนบอกจะเพิ่ม "; C: \ ขด" แต่วิธีนี้ก็ไม่ได้เป็นไปได้ที่จะเข้าถึง curl.exe



0

สำหรับทุกคนที่กำลังมองหาวิธีแก้ปัญหาอย่างรวดเร็วหลังจากติดตั้ง cygwin มาตรฐานแล้ว แต่การค้นหา curl ไม่สามารถทำได้บนแพลตฟอร์ม win 10 x64:

ดาวน์โหลดนี้พื้นที่เก็บข้อมูลเกษียณการสกัดและการทำงาน:

Git-cmd.bat

ทำงานเหมือนจับใจ ฉันคิดว่ามันมีตัวเลือกที่ติดตั้งไว้ล่วงหน้าสำหรับ curl

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.