คำถามติดแท็ก curl

curl เป็นยูทิลิตี้การถ่ายโอนข้อมูลที่ใช้สำหรับแอปพลิเคชั่นที่เกี่ยวข้องกับเน็ตเวิร์กจำนวนมาก = (เช่นข้อมูลการขูด)


16
รับ curl เพื่อส่งออกรหัสสถานะ HTTP?
ฉันใช้curlที่บรรทัดคำสั่งบน Linux เพื่อออกคำขอ HTTP ส่วนเนื้อหาการตอบสนองถูกพิมพ์ออกมาเป็นมาตรฐานซึ่งใช้ได้ แต่ฉันไม่สามารถดูได้จากหน้า man วิธีรับ curl เพื่อพิมพ์รหัสสถานะ HTTP จากการตอบกลับ (404, 403 ฯลฯ ) เป็นไปได้ไหม
799 http  curl  status 

19
วิธีดาวน์โหลดไฟล์จากบรรทัดคำสั่งใน Windows เช่น wget หรือ curl
ฉันจะดาวน์โหลดบางสิ่งจากเว็บได้โดยตรงโดยไม่ต้องเปิด Internet Explorer หรือ Firefox เปิดโปรแกรม Acrobat Reader / Quicktime / MS Word / อะไร? ฉันใช้ Windows ดังนั้นWgetรุ่น Windows จะทำอย่างไร
348 windows  wget  curl 

4
ฉันสามารถทำให้ cURL ล้มเหลวด้วย exitCode ที่แตกต่างจาก 0 ได้หรือไม่หากรหัสสถานะ HTTP ไม่ใช่ 200
ฉันมักจะสมมติว่าเมื่อ curl ได้รับการตอบสนอง HTTP 500 มันกลับรหัสทางออกที่หมายถึงความล้มเหลว (! = 0) แต่ที่ดูเหมือนจะไม่เป็นกรณี มีวิธีที่ฉันสามารถทำให้ cURL ล้มเหลวด้วย exitCode ที่แตกต่างจาก 0 ถ้ารหัสสถานะ HTTP ไม่ได้ 200? ฉันรู้ว่าฉันสามารถใช้งานได้-w "%{http_code}"แต่ใส่ไว้ใน STDOUT ไม่ใช่รหัสออก (นอกจากนี้ฉันยังสนใจที่จะจับเอาท์พุทซึ่งฉันไม่ต้องการเปลี่ยนเส้นทางไปยังไฟล์ แต่ไปที่หน้าจอ)

8
PowerShell เทียบเท่ากับขด
มีcurlPowerShell ที่เทียบเท่าหรือไม่ มันมีความสามารถในตัวที่คล้ายกันหรือมี cmdlet ของบุคคลที่สามหรือไม่
145 powershell  curl 

4
คุณแสดงข้อมูล POST ด้วย cURL อย่างไร
ตัวอย่างเช่นการโพสต์ไปยังเว็บเซิร์ฟเวอร์ที่มีอาร์กิวเมนต์ -v: curl -v http://testserver.com/post -d "firstname=john&lastname=doe" และก็เอาท์พุท > POST /post HTTP/1.1 > User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3 > Host: testserver.com > Accept: */* > Content-Length: 28 > Content-Type: application/x-www-form-urlencoded > < HTTP/1.1 200 OK (etc) ไม่มีการกล่าวถึงข้อมูลที่ฉันโพสต์ มีตัวเลือกใน cURL เพื่อแสดงสตริง "firstname = john & lastname = doe" ในผลลัพธ์หรือไม่ หมายเหตุ: …
139 curl  debug 

5
วิธี wget ไฟล์ที่มีชื่อที่ถูกต้องเมื่อเปลี่ยนเส้นทาง?
ดังนั้นหลังจากการค้นหาใน Google และ Super User (และการสแกนหน้าคน) ฉันไม่สามารถหาคำตอบสำหรับสิ่งที่ (ฉันคิดว่า) น่าจะง่าย: ถ้าคุณไปที่นี่: http://www.vim.org/scripts/script.php?script_id=2340 และลองดาวน์โหลดธีม: http://www.vim.org/scripts/download_script.php?src_id=9750 ชอบมาก wget http://www.vim.org/scripts/download_script.php?src_id=9750 download_script.php?src_id=9750คุณอาจจะจบลงด้วยไฟล์ที่เรียกว่า แต่ฉันต้องการให้มันถูกเรียกmolokai.vimซึ่งเป็นสิ่งที่จะเกิดขึ้นถ้าฉันใช้เบราว์เซอร์เพื่อดาวน์โหลดไฟล์นี้ ฉันต้องระบุตัวเลือกใดเพื่อรับผลที่ต้องการ ฉันก็จะโอเคกับคำสั่งเทียบเท่า Curl


2
CURL สามารถส่งคำขอไปยังซ็อกเก็ตได้หรือไม่?
ฉันมีเซิร์ฟเวอร์ HTTP ทำงานอยู่/var/run/my-server.sockและฉันต้องการทดสอบโดยส่งคำของ่ายๆโดยใช้ cURL สิ่งนี้สามารถทำได้โดยใช้ cURL? สามารถทำได้ทั้งหมดหรือจะต้องมี reverse proxy อยู่ในสถานที่? ฉันจินตนาการถึงสิ่งนี้: curl socket:/var/run/my-server.sock:/test/path
75 curl  sockets 

7
cURL: จะระงับเอาต์พุตที่แปลกเมื่อเปลี่ยนเส้นทางได้อย่างไร
ฉันพยายามพิมพ์เฉพาะส่วน verbose ของคำร้องขอ cURL (ซึ่งถูกส่งไปstderr) จาก bash shell แต่เมื่อฉันเปลี่ยนเส้นทางstdoutเช่นนี้: curl -v http://somehost/somepage > /dev/null ตารางผลลัพธ์บางประเภทปรากฏขึ้นกลางผลลัพธ์ไปที่stderr: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 ตามมาด้วยสิ่งนี้ใกล้จะจบ: { [data not shown] …


2
จะส่ง POST พร้อมเนื้อหาส่วนหัวและ HTTP โดยใช้ cURL ได้อย่างไร
ฉันพบตัวอย่างจำนวนมากเกี่ยวกับวิธีใช้คำสั่ง POST แบบง่ายใน cURL แต่ฉันไม่พบตัวอย่างเกี่ยวกับวิธีส่งคำสั่ง HTTP POST แบบเต็มซึ่งประกอบด้วย: ส่วนหัว (การรับรองความถูกต้องเบื้องต้น) HTTP Params ( s=1&r=33) Data Body บางสตริง XML ทั้งหมดที่ฉันพบคือ: echo "this is body" | curl -d "ss=ss&qq=11" http://localhost/ ไม่ได้ผลและจะส่งพารามิเตอร์ HTTP เป็นเนื้อหา
39 curl 

6
CURL เพื่อดาวน์โหลดไดเรกทอรี
ฉันกำลังพยายามดาวน์โหลดไดเรกทอรีเว็บไซต์แบบเต็มโดยใช้ CURL คำสั่งต่อไปนี้ไม่ทำงาน: curl -LO http://example.com/ ส่งคืนข้อผิดพลาด: curl: Remote file name has no length!. แต่เมื่อฉันทำสิ่งนี้curl -LO http://example.com/someFile.typeมันได้ผล มีความคิดวิธีการดาวน์โหลดไฟล์ทั้งหมดในไดเรกทอรีที่ระบุหรือไม่? ขอบคุณ
38 curl 

3
ชื่อโฮสต์โลคัล Curl บน Mac OS X Yosemite
ฉันเพิ่งอัพเกรดจาก Mavericks เป็น Yosemite และตอนนี้curlไม่เห็นชื่อโฮสต์ลูปแบ็ค ตั้งค่าเซิร์ฟเวอร์ http ง่ายๆเพื่อทดสอบ: $ python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ... ตอนนี้ฉันสามารถไปที่ localhost: 8000 ในโครเมี่ยม ฉันยังสามารถรับมันได้ แต่ในขดนี้เกิดขึ้น: $ curl localhost:8000 curl: (7) Failed to connect to localhost port 8000: Connection refused อย่างไรก็ตามการทำงานนี้: $ curl 127.0.0.1:8000 ฉันอ่านคำตอบนี้เกี่ยวกับการตั้งค่าพร็อกซี่ wgetแต่มันไม่ได้ช่วยเพราะสิ่งนี้ใช้ได้: $ wget --proxy=off localhost:8000 มันน่าผิดหวังจริง …


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