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

cURL เป็นเครื่องมือ CLI สำหรับการออกคำขอ HTTP GET, POST และ PUT

3
ทำไมจะไม่ดาวน์โหลดลิงค์นี้เมื่อเบราว์เซอร์จะ?
ฉันใช้ Mac OS 10.11.6 El Capitan มีลิงค์ที่ฉันต้องการดาวน์โหลดโดยทางโปรแกรม: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-osx10.11-x86_64.dmg หากฉันวาง URL นี้ลงในเบราว์เซอร์ใด ๆ (เช่น Safari) การดาวน์โหลดจะทำงานได้อย่างสมบูรณ์ อย่างไรก็ตามหากฉันพยายามดาวน์โหลด URL เดียวกันจากบรรทัดคำสั่งโดยใช้curlมันไม่ทำงานผลที่ได้คือไฟล์เปล่า: $ ls -lA $ curl -O https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-osx10.11-x86_64.dmg % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 …
30 curl 

3
การส่งผ่านข้อมูลไบนารีไปยัง curl โดยไม่ต้องใช้ @file
เป็นไปได้ไหมที่จะใช้ curl และโพสต์ข้อมูลไบนารีโดยไม่ผ่านชื่อไฟล์? ตัวอย่างเช่นคุณสามารถโพสต์แบบฟอร์มโดยใช้ไบนารีผ่าน --data-binary: curl -X POST --data-binary @myfile.bin http://foo.com อย่างไรก็ตามสิ่งนี้ต้องการไฟล์ที่มีอยู่ ฉันหวังว่าจะสามารถบันทึกการโทร HTTP (เช่นเพื่อหยุดบริการ) เป็นข้อความของคำสั่ง curl ในการทำซ้ำการร้องขอ (สิ่งนี้จะช่วยในการดีบักบริการเหล่านี้เป็นอย่างมาก) อย่างไรก็ตามการบันทึกคำสั่ง curl ที่อ้างอิงไฟล์จะไม่มีประโยชน์ดังนั้นฉันหวังว่าฉันจะสามารถบันทึกข้อมูลไบนารีแบบดิบได้โดยมีการเข้ารหัส base64 น่าจะเป็นจริง แต่ก็ยังให้คุณคัดลอกและวางคำสั่ง curl ที่บันทึกไว้ ดังนั้นเป็นไปได้ที่จะใช้ curl และโพสต์ข้อมูลไบนารีโดยไม่ต้องอ้างอิงไฟล์หรือไม่? ถ้าเป็นเช่นนั้นจะทำงานอย่างไร ตัวอย่างจะมีลักษณะเป็นอย่างไร
30 curl  binary 

7
ดาวน์โหลดไฟล์ขนาดใหญ่ผ่านการเชื่อมต่อที่ไม่ดี
มีเครื่องมือที่มีอยู่ซึ่งสามารถใช้ดาวน์โหลดไฟล์ขนาดใหญ่ผ่านการเชื่อมต่อที่ไม่ดีได้หรือไม่? ฉันต้องดาวน์โหลดไฟล์ที่ค่อนข้างเล็กเป็นประจำ: 300 MB แต่การเชื่อมต่อ TCP ที่ช้า (80-120 KBytes / วินาที) จะหยุดพักแบบสุ่มหลังจาก 10-120 วินาที (เป็นเครือข่ายของ บริษัท ใหญ่เราติดต่อผู้ดูแลระบบของพวกเขา (ทำงานจากอินเดีย) หลายครั้ง แต่พวกเขาไม่สามารถหรือไม่ต้องการทำอะไรเลย) ปัญหาอาจเกิดจากพร็อกซี / โหลดบาลานเซอร์ย้อนกลับของพวกเขา จนถึงตอนนี้ฉันใช้ pcurl รุ่นที่แก้ไขแล้ว: https://github.com/brunoborges/pcurl ฉันเปลี่ยนบรรทัดนี้: curl -s --range ${START_SEG}-${END_SEG} -o ${FILENAME}.part${i} ${URL} & สำหรับสิ่งนี้: curl -s --retry 9999 --retry-delay 3 --speed-limit 2048 --speed-time 10 \ --retry-max-time 0 …
30 curl  http  download 

1
ฉันจะแสดง URL ทั้งหมดในห่วงโซ่การเปลี่ยนเส้นทางได้อย่างไร
ฉันกำลังมองหาวิธีที่จะแสดง URL ทั้งหมดในห่วงโซ่การเปลี่ยนเส้นทางโดยเฉพาะอย่างยิ่งจากเปลือก ฉันพบวิธีที่จะทำเช่นนั้นด้วย curl แต่มันจะแสดงเฉพาะ URL แรกและ URL สุดท้าย ฉันต้องการเห็นพวกเขาทั้งหมด จะต้องมีวิธีในการทำสิ่งนี้อย่างง่าย ๆ แต่ฉันไม่สามารถหาชีวิตของมันได้ แก้ไข: ตั้งแต่ส่งสิ่งนี้ฉันได้ค้นพบวิธีการใช้ Chrome (CTRL + SHIFT + I-> แท็บเครือข่าย) แต่ฉันยังอยากรู้ว่ามันสามารถทำได้จากบรรทัดคำสั่ง Linux
29 wget  curl 

3
ฉันจะใช้ curl เพื่อดาวน์โหลดเนื้อหาจาก sourceforge ได้อย่างไร
เพียงพิมพ์http://downloads.sourceforge.net/project/romfs/genromfs/0.5.2/genromfs-0.5.2.tar.gzทำงานได้ดีบนเบราว์เซอร์ แต่ฉันพยายามดาวน์โหลดจากสภาพแวดล้อม CLI ที่มีข้อ จำกัด สาธารณูปโภค ต่อไปนี้เป็นเพียงการส่งคืนไฟล์เปล่า: curl http://downloads.sourceforge.net/project/romfs/genromfs/0.5.2/genromfs-0.5.2.tar.gz ฉันจะรับ genromfs-0.5.2.tar.gz จาก sourceforge โดยใช้ curl ได้อย่างไร
29 curl 

3
วิธีแก้ไขข้อผิดพลาดการจับมือการแจ้งเตือนของ curl sslv3?
ฉันพยายามขดเว็บไซต์ HTTPS ด้วยวิธีต่อไปนี้: $ curl -v https://thepiratebay.se/ อย่างไรก็ตามมันล้มเหลวด้วยข้อผิดพลาด: * About to connect() to thepiratebay.se port 443 (#0) * Trying 173.245.61.146... * connected * Connected to thepiratebay.se (173.245.61.146) port 443 (#0) * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS alert, Server hello (2): * error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure …
27 command-line  osx  curl  ssl 

6
มีทางเลือกอะไรบ้างในการตรวจสอบพอร์ตที่เปิดอยู่นอกเหนือจาก telnet
เราสามารถใช้สิ่งต่อไปนี้เพื่อทดสอบ telnet VIA port; ในตัวอย่างต่อไปนี้เราทดสอบพอร์ต 6667: [root@kafka03 ~]# telnet kafka02 6667 Trying 103.64.35.86... Connected to kafka02. Escape character is '^]'. ^CConnection closed by foreign host เนื่องจากในเครื่องบางเครื่องเราไม่สามารถใช้ telnet (ด้วยเหตุผลภายใน) ทางเลือกอื่นในการตรวจสอบพอร์ตเป็น telnet คืออะไร

5
รับเป้าหมายการเปลี่ยนเส้นทางของ URL ด้วย curl
ฉันต้องการตรวจสอบว่า URL ใดเปลี่ยนเส้นทางเดียว ตัวอย่างดังกล่าวอาจเป็นลิงก์จากหน้าผลการค้นหาของ Google (ซึ่งการคลิกผ่านเซิร์ฟเวอร์ Google เสมอ) ผมสามารถทำเช่นนั้นด้วยcurl?
24 curl  url 

2
วิธีการตรวจสอบว่าคำสั่งเช่น curl เสร็จสมบูรณ์โดยไม่มีข้อผิดพลาด?
ฉันใช้ curl เพื่ออัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ผ่านโพสต์ HTTP curl -X POST -d@myfile.txt server-URL "Upload successful"เมื่อฉันด้วยตนเองรันคำสั่งนี้ในบรรทัดคำสั่งฉันได้รับการตอบสนองจากเซิร์ฟเวอร์เช่น อย่างไรก็ตามถ้าฉันต้องการรันคำสั่ง curl นี้ผ่านสคริปต์ฉันจะทราบได้อย่างไรว่าคำขอ POST ของฉันสำเร็จหรือไม่

4
ความแตกต่างระหว่าง `curl | sh` และ `sh -c“ $ (curl)””?
คำถามนี้ถูกโยกย้ายจาก Server Fault เนื่องจากสามารถตอบได้ใน Unix & Linux Stack Exchange อพยพ 2 ปีที่แล้ว วิธีการติดตั้งง่าย ๆ อย่างหนึ่งสำหรับ Docker (ตัวอย่าง) คือ: curl -sSL https://get.docker.com/ | sh อย่างไรก็ตามฉันได้เห็นบางอย่างที่มีลักษณะเช่นนี้ (โดยใช้ตัวอย่าง Docker): sh -c "$(curl -sSL https://get.docker.com/)" พวกมันดูเหมือนจะใช้งานได้เหมือนกัน แต่มีเหตุผลที่จะใช้อันหนึ่งกับอีกอันหนึ่งหรือไม่? หรือมันเป็นเพียงสิ่งที่ชอบ / ความงาม? (โปรดทราบว่าให้ระมัดระวังเมื่อเรียกใช้สคริปต์จากต้นกำเนิดที่ไม่รู้จัก)

1
url url โทรเข้าห่วง [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Unix & Linux Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันกำลังทำงานกับทุบตีและฉันพยายามโทร url url ในวง ด้านล่างคือการเรียกขดที่เรียบง่ายของฉัน - curl -v --header "Connection: keep-alive" "localhost:8080/user?userid=52010&client_id=20&attr=0" และฉันพยายามโทรหาขดนี้เพื่อวนซ้ำ 100 ครั้ง - for ((i=1;i<=100;i++)); do curl -v --header "Connection: keep-alive" "localhost:8080/user?uuid=52010&model_id=20&attr=0" done ฉันพยายามเรียกใช้โค้ดข้างต้นเนื่องจากมันอยู่ในบรรทัดคำสั่ง แต่มันใช้งานไม่ได้และมันทำให้ฉันเป็นแบบนี้ - > ความคิดใดที่ฉันทำผิด
23 shell  curl 

3
การส่งคำขอ CURL ด้วย IP ที่กำหนดเอง
มันควรจะเป็นไปไม่ได้? สมมติว่าฉันไม่ต้องการคำตอบฉันแค่ต้องการส่งคำขอ เราไม่ควรเปลี่ยน tcp / ip header ได้เพราะคอมพิวเตอร์ของเราส่งมัน? ฉันอาจจะหายไปบางสิ่งบางอย่างอยากรู้อยากเห็นจริง ๆ เรียนรู้เกี่ยวกับมันในมหาวิทยาลัย
19 curl 

3
การตั้งค่าเอาต์พุต jq เป็น Bash Variable
ฉันใช้ curl เพื่อให้ JSON กลับมาจาก api ที่เหลือเช่นนี้ content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc) echo "${content}"| jq -r '.data.value' ซึ่งสร้างคุณค่าที่ฉันต้องการ อย่างไรก็ตาม; เมื่อฉันเปลี่ยนโค้ดด้านบนให้มีลักษณะดังนี้: content=$(curl -s -X GET -H "Header:Value" http://127.0.0.1:8200/etc) username=$(echo "${content}"| jq -r '.data.value') echo $username ไม่ได้ผลิตอะไรเลย ฉันจะเปลี่ยนสิ่งนี้ได้อย่างไรเพื่อให้ตัวแปรชื่อผู้ใช้ได้รับการกำหนดผลลัพธ์
18 bash  curl  json  jq 

3
ดาวน์โหลดไฟล์หลาย ๆ ไฟล์พร้อมกับซิงก์รั้ง
ฉันพยายามดาวน์โหลดสองไฟล์โดยใช้ไวยากรณ์ต่อไปนี้: curl -O http://domain/path/to/{file1,file2} ปัญหาคือมีเพียงไฟล์แรกเท่านั้นที่ถูกบันทึกไว้ในเครื่องจริงและไฟล์ที่สองถูกพิมพ์เป็น stdout ฉันรู้ว่าถ้าฉันเพิ่ม-Oมันทำงานได้ดี: curl -OO http://domain/path/to/{file1,file2} แต่นี่ไม่ได้ผลถ้าจำนวนไฟล์เติบโตมากเกินไป? ตัวอย่างเช่น, curl -O http://domain/path/to/file[1,100] คำถามของฉันคือไม่มีวิธีดาวน์โหลดหลายไฟล์พร้อมกันหรือไม่ curl (โดยไม่ต้องเพิ่มจำนวนที่ถูกต้อง-O) หรือไม่?
17 curl 

1
วิธีดูรายการ ciphers ขด?
ความเข้าใจของฉันคือระหว่างการเจรจา SSL ลูกค้า (เช่น curl) ส่งรายการของ ciphers ไปยังเซิร์ฟเวอร์และเซิร์ฟเวอร์ตอบกลับด้วยตัวเลือกที่ต้องการ ฉันจะดูรายการของยันต์ที่กำลังส่งได้อย่างไร
15 curl  ssl  https 

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