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


81

มีวิธีติดตั้งหรือไม่ cURL ใน windows เพื่อให้ทำงานได้ cURL คำสั่งจาก พร้อมรับคำสั่ง ?


ฉันลงคะแนนให้ปิดคำถามนี้เป็นแบบปิดหัวข้อเพราะเป็น ข้ามโพสต์บน SO
phuclv

คำตอบ:


74

ดาวน์โหลด cURL สำหรับ Windows จาก ที่นี่ (และอย่าลืมเลือกจาก Win32 - ทั่วไป เลื่อนลงบนหน้า)

จากนั้นวางไว้ในไดเรกทอรีภายในตัวแปรสภาพแวดล้อม PATH ของคุณ (เช่น: C:\Windows\System32 ) หรือเรียกใช้โดยใช้พา ธ แบบเต็มก่อนหน้าชื่อปฏิบัติการ

หากคุณวางไว้ในไดเรกทอรีที่อยู่ใน PATH ให้ปิดและเปิดพรอมต์คำสั่งอีกครั้งเพื่อทำให้คำสั่งพร้อมใช้งาน


4
คุณไม่จำเป็นต้องเปิดคอนโซลอีกครั้งหากคุณใส่ไว้ในไดเรกทอรีบนพา ธ คุณจะต้องทำสิ่งนั้นหาก เปลี่ยนแปลง ตัวแปร PATH
Eltariel

หนึ่งรีบูตยากในภายหลังเพราะฉันไม่สามารถฆ่างานได้ - อืมคุณอาจต้องระวังสิ่งนี้
CAD bloke

ที่เกี่ยวข้อง คุณสามารถติดตั้งไลบรารีสำหรับ https?
CodyBugstein

81

หากคุณติดตั้ง Git สำหรับ Windows คุณจะได้รับ Curl โดยอัตโนมัติด้วย มีข้อดีบางประการ:

  • Git เป็นผู้ดูแล PATH ติดตั้งระหว่างการติดตั้งโดยอัตโนมัติ
  • คุณได้รับ ทุบตี GNU ซึ่งเป็นเชลล์ที่ทรงพลังจริงๆในความคิดของฉันดีกว่าคอนโซล Windows ดั้งเดิม
  • คุณจะได้รับเครื่องมือ Linux ที่มีประโยชน์อื่น ๆ เช่น tail, cat, grep, gzip, pdftotext, น้อย, เรียงลำดับ, tar, vim และ Perl

enter image description here


8
ฉันไม่รู้ว่าทุบตี git ก็ทำสิ่งอื่นด้วย: D ขอบคุณมาก
BRogers

ทำงานเหมือนจับใจ!
Pedro

1
นี่อาจเป็นทางออกที่ดีที่สุดเพราะคอมไพล์มีประโยชน์สำหรับหลาย ๆ สิ่งที่ขด แต่เป็นแหล่งที่ฉลาด
cchamberlain

หากคุณมี Git นี่เป็นทางออกที่ดี
Diode Dan

3
เวอร์ชันที่ใหม่กว่าของ git-for-windows ไม่ได้มาพร้อมกับ curl ในพา ธ คุณต้องเรียกใช้ /mingw64/bin/curl.
dev0

2

หลังจากติดตั้ง OpenSSL Light แล้วให้รีสตาร์ท Windows เปิดพร้อมรับคำสั่งแล้วทำคำสั่งทดสอบเช่น

curl http://www.google.com

หากคุณได้รับแท็ก HTML กลับมาจะสามารถใช้งานได้


2

วิธีตั้งค่า cURL:

  • ดาวน์โหลดและคลายซิป 64- บิต cURL ด้วย SSL
  • คัดลอก curl.exe ไฟล์ลงใน Windows ของคุณ PATH โฟลเดอร์ โดยค่าเริ่มต้นนี่คือ C:\Windows\System32.
  • ดาวน์โหลดและติดตั้ง Visual Studio 2010 C ++ Runtime Redistributable 64 บิต ที่นี่ .
  • ดาวน์โหลดบันเดิลล่าสุดของ Certficate Authority Public Keys จาก mozilla.org ที่นี่ .
  • เปลี่ยนชื่อไฟล์นี้จาก cacert.pem ไปยัง curl-ca-bundle.crt.
  • ย้ายไฟล์นี้ไปยัง Windows ของคุณ PATH โฟลเดอร์

วิธีทดสอบ:

  • วิ่ง cmd.exe เพื่อเปิดพรอมต์คำสั่งของคุณ
  • สำหรับคำสั่งทั้งสองคุณควรเห็นซอร์สโค้ด HTML สองหน้า หากคุณเห็นสิ่งนี้ cURL พร้อมใช้งาน!

2

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

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

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

curl http://example.com/

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

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


สิ่งที่ฉันกำลังมองหา! ฉันใช้จริง ๆ DownloadFile วิธี: powershell -Command "(new-object net.webclient).DownloadFile('http://.../somefile', 'file.txt')". คุณเพิ่งสอนวิธีใช้ PowerShell โดยไม่ต้องเปิดพรอมต์ ขอบคุณ matty!
Armfoot

2

Tar และ Curl มีอยู่ใน Windows ที่เริ่มต้นใน Insider Build 17063 ซึ่งเป็นส่วนหนึ่งของ toolchain ของ Windows: curl และ bsdtar

น้ำมันดิน : เครื่องมือบรรทัดคำสั่งที่อนุญาตให้ผู้ใช้แยกไฟล์และสร้างไฟล์เก็บถาวร ภายนอก PowerShell หรือการติดตั้งซอฟต์แวร์ของ บริษัท อื่นไม่มีวิธีแยกไฟล์จาก cmd.exe การใช้งานใช้แบบเก็บถาวร

enter image description here

Curl : เครื่องมือบรรทัดคำสั่งที่อนุญาตให้ถ่ายโอนไฟล์ไปยังและจากเซิร์ฟเวอร์

enter image description here

หมายเหตุ: PowerShell มีฟังก์ชั่นที่คล้ายกันอยู่แล้ว (มีส่วนโค้งและเป็นยูทิลิตี้การแตกไฟล์ของตัวเอง)

ข้อมูลเพิ่มเติม: น้ำมันดินและ Curl มาที่ Windows!



0

ไม่จำเป็นต้องรีสตาร์ท windows แต่จำเป็นต้องรีสตาร์ท CMD

  1. ติดตั้ง cURL จาก curl.haxx.se .
  2. ตั้งค่าตัวแปรสภาพแวดล้อม Path ตามตำแหน่งของ curl.exe ในเครื่องของคุณเช่น C: \ Users \ คุณ \ ม้วน
  3. ดาวน์โหลด ไฟล์ใบรับรองจาก mozilla.org ซึ่งเชื่อมโยงกับหนึ่งใน คำตอบข้างต้นและย้ายไปยังโฟลเดอร์ system32

0

ฉันใช้คำตอบที่ได้รับจาก fuxia เพื่อเรียกใช้สคริปต์ทุบตีที่ฉันเขียนใน Linux บนแพลตฟอร์ม Windows มันใช้งานได้ดีมาก

คำเตือนด้วยแม้ว่า cURL. ฉันมีปัญหาที่ฉันไม่สามารถใช้การโต้ตอบของคอนโซลเมื่อตรวจสอบสิทธิ์ตามที่อธิบายไว้ที่นี่ https://stackoverflow.com/questions/50724407/curl-command-in-git-bash

ถ้าคุณ cURL คำสั่งต้องการการรับรองความถูกต้องและคุณไม่ต้องการให้รหัสผ่านปรากฏในบรรทัดคำสั่งหรือเก็บไว้ในสคริปต์ของคุณคุณจะต้องใช้วิธีแก้ไขปัญหาอื่นเช่นการใช้ไฟล์รหัสผ่าน: https://stackoverflow.com/questions/2594880/using-curl-with-a-username-and-password

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