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

cURL เป็นไลบรารีไคลเอ็นต์ HTTP และเครื่องมือบรรทัดคำสั่ง

10
การแสดงรายละเอียดใบรับรอง SSL ระยะไกลโดยใช้เครื่องมือ CLI
ใน Chrome การคลิกที่ไอคอนล็อค HTTPS สีเขียวจะเปิดหน้าต่างที่มีรายละเอียดใบรับรอง: เมื่อฉันลองแบบเดียวกันกับ cURL ฉันได้รับข้อมูลบางอย่างเท่านั้น: $ curl -vvI https://gnupg.org * Rebuilt URL to: https://gnupg.org/ * Hostname was NOT found in DNS cache * Trying 217.69.76.60... * Connected to gnupg.org (217.69.76.60) port 443 (#0) * TLS 1.2 connection using TLS_DHE_RSA_WITH_AES_128_CBC_SHA * Server certificate: gnupg.org * Server certificate: Gandi …

4
วิธีทดสอบ HTTPS URL ด้วยที่อยู่ IP ที่กำหนด
สมมติว่าเว็บไซต์สมดุลระหว่างเซิร์ฟเวอร์หลายเครื่อง curl DOMAIN.TLDฉันต้องการที่จะเรียกใช้คำสั่งเพื่อทดสอบว่ามันทำงานเช่น ดังนั้นเพื่อแยกที่อยู่ IP แต่ละอันฉันต้องระบุ IP ด้วยตนเอง curl IP_ADDRESS -H 'Host: DOMAIN.TLD'แต่เว็บไซต์ที่หลายคนอาจจะโฮสต์บนเซิร์ฟเวอร์ดังนั้นฉันยังคงให้ส่วนหัวของโฮสต์เช่นนี้ ในความเข้าใจของฉันทั้งสองคำสั่งสร้างคำขอ HTTP ที่แน่นอนเหมือนกัน ข้อแตกต่างเพียงอย่างเดียวคือในส่วนหลังฉันใช้ส่วนการค้นหา DNS จาก cURL และทำสิ่งนี้ด้วยตนเอง (โปรดแก้ไขฉันหากฉันผิด) ทุกอย่างดี แต่ตอนนี้ฉันต้องการทำเช่นเดียวกันสำหรับ URL ของ HTTPS ฉันสามารถทดสอบมันได้เช่นนี้curl https://DOMAIN.TLDอีกครั้ง แต่ผมต้องการระบุ IP curl https://IP_ADDRESS -H 'Host: DOMAIN.TLD'ด้วยตนเองดังนั้นฉันทำงาน ตอนนี้ฉันได้รับข้อผิดพลาด cURL: curl: (51) SSL: certificate subject name 'DOMAIN.TLD' does not match target host …
77 https  curl 

4
ความแตกต่างระหว่าง `curl -I` และ` curl -X HEAD`
ฉันดูประเภทเซิร์ฟเวอร์ตลกจากhttp://www.reddit.comด้วยcurl -I http://www.reddit.comเมื่อฉันเดาว่าcurl -X HEAD http://www.reddit.comจะทำเช่นเดียวกัน แต่ในความเป็นจริงมันไม่ได้ ฉันอยากรู้ว่าทำไม นี่คือสิ่งที่ฉันสังเกตเห็นการรันทั้งสองคำสั่ง: curl -I: ใช้งานได้ตามที่คาดหวังส่งออกส่วนหัวและมีอยู่ curl -X HEAD: ไม่แสดงอะไรเลยและดูเหมือนว่าจะรอการป้อนข้อมูลของผู้ใช้ แต่การดมกลิ่นกับtsharkฉันเห็นคำสั่งที่สองส่งจริงแบบสอบถาม HTML และได้รับคำตอบที่ถูกต้อง แต่มันไม่แสดงและไม่ได้ปิดการเชื่อมต่อ curl -I 0.000000 333.33.33.33 -> 213.248.111.106 TCP 59675 > http [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=47267342 TSER=0 WS=6 0.045392 213.248.111.106 -> 333.33.33.33 TCP http > 59675 [SYN, ACK] Seq=0 Ack=1 …

2
Curl: ปิดใช้งานการตรวจสอบใบรับรอง
https://localhostฉันกำลังพัฒนาและฉันต้องการที่จะเข้าถึง ฉันรู้ว่าใบรับรองจะไม่ตรงกัน ฉันแค่อยากขดไม่สนใจสิ่งนั้น ขณะนี้มันทำให้ฉันข้อความผิดพลาดต่อไปนี้: curl: (51) SSL peer certificate or SSH remote key was not OK เป็นไปได้ไหมที่จะบอกให้ curl ทำการเชื่อมต่อ?
52 linux  curl 

4
มีเครื่องมือบรรทัดคำสั่งในตัวภายใต้ Windows เช่น wget / curl หรือไม่?
ฉันมาจากพื้นหลัง Linux / Unix และฉันสงสัยว่า Windows มีไบนารีที่สามารถดาวน์โหลดไฟล์จากคอนโซลได้หรือไม่ ฉันต้องการทำให้กระบวนการหนึ่งเป็นอัตโนมัติและหนึ่งในความต้องการของฉันคือไม่ติดตั้งซอฟต์แวร์มากนัก แต่ใช้สิ่งที่มีอยู่ในตัวให้มากที่สุด ขอบคุณ!

7
จะอัปเดต cURL CA ใน RedHat ได้อย่างไร
ฉันพบปัญหาที่กลุ่ม CA ที่รวมมากับรุ่น cURL ของฉันล้าสมัยแล้ว curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed More details here: http://curl.haxx.se/docs/sslcerts.html การอ่านเอกสารไม่ได้ช่วยฉันเพราะฉันไม่เข้าใจว่าฉันต้องทำอะไรหรือทำอะไร ฉันใช้ RedHat และจำเป็นต้องอัปเดตชุดข้อมูล CA ฉันต้องทำอะไรเพื่ออัปเดตแพ็คเกจ CA บน RedHat

4
ฉันจะทำให้ cURL ใช้ keepalive จากบรรทัดคำสั่งได้อย่างไร
ฉันพยายามตรวจสอบว่ามีการใช้การเชื่อมต่อ HTTP แบบถาวรในระหว่างการสื่อสารกับเว็บเซิร์ฟเวอร์ Tomcat ที่ฉันใช้งานอยู่ ขณะนี้ฉันสามารถดึงทรัพยากรบนเซิร์ฟเวอร์ของฉันจากเบราว์เซอร์ (เช่น Chrome) และตรวจสอบโดยใช้ netstat ว่าการเชื่อมต่อได้ถูกสร้างขึ้นแล้ว: # visit http://server:8080/path/to/resource in Chrome [server:/tmp]$ netstat -a ... tcp 0 0 server.mydomain:webcache client.mydomain:55502 ESTABLISHED อย่างไรก็ตามถ้าฉันใช้ curl ฉันไม่เคยเห็นการเชื่อมต่อบนเซิร์ฟเวอร์ใน netstat [client:/tmp]$ curl --keepalive-time 60 --keepalive http://server:8080/path/to/resource ... [server:/tmp]$ netstat -a # no connection exists for client.mydomain ฉันได้ลองใช้คำสั่ง curl ต่อไปนี้: curl …
36 http  tcp  curl  netstat  keepalive 

1
Curl POST - 411 ความยาวที่ต้องการ
เรามี RestFUL API ที่เราสร้างใน PHP หากเราทำการร้องขอ: curl -u api-key:api-passphrase https://api.domain.com/v1/product -X POST เรากลับมา: 411 - Length Required แม้ว่าเราเพียงแค่เพิ่ม-d ""ลงในคำขอก็ใช้งานได้และไม่มีข้อผิดพลาด 411 มีวิธีที่ไม่ต้องการเพิ่ม -d ในคำสั่ง curl หรือไม่? เรากำลังใช้เว็บเซิร์ฟเวอร์ lighttpd และเชื่อว่า lighttpd ไม่ใช่ php ที่ส่งคืนข้อผิดพลาด 411
29 php  lighttpd  curl 

4
วิธีแก้ไขปัญหาการเชื่อมต่อเมื่อ curl ได้รับ * การตอบสนองที่ว่างเปล่า *
ฉันต้องการทราบวิธีดำเนินการแก้ไขปัญหาต่อไปว่าทำไม curl ที่ร้องขอไปยังเว็บเซิร์ฟเวอร์ไม่ทำงาน ฉันไม่ต้องการความช่วยเหลือที่ขึ้นอยู่กับสภาพแวดล้อมของฉันฉันแค่ต้องการทราบวิธีการรวบรวมข้อมูลว่าส่วนใดของการสื่อสารที่ล้มเหลวหมายเลขพอร์ต ฯลฯ chad-integration:~ # curl -v 111.222.159.30 * About to connect() to 111.222.159.30 port 80 (#0) * Trying 111.222.159.30... connected * Connected to 111.222.159.30 (111.222.159.30) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.19.0 (x86_64-suse-linux-gnu) libcurl/7.19.0 OpenSSL/0.9.8h zlib/1.2.3 libidn/1.10 > Host: 111.222.159.30 > Accept: */* > …
27 tcp  curl 

4
ดำเนินการร้องขอ curl แบบขนานใน bash
ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ เป็นวิธีที่ดีที่สุดในการรัน 5 curlคำขอparallelจากสคริปต์ทุบตีอะไร ฉันไม่สามารถรันมันเป็นอนุกรมได้เนื่องจากเหตุผลด้านประสิทธิภาพ
23 curl  wget  multi-core  smp 

8
เป็นไปได้อย่างไรที่ฉันสามารถทำการค้นหาโฮสต์ แต่ไม่เป็นขด
มีใครเคยเห็นมาก่อนหรือไม่ โปรดทราบว่าสิ่งนี้ไม่เพียงเกิดขึ้นกับ google.com เท่านั้น แต่ทุกโดเมนที่ฉันลองใช้ เป็นการเชื่อมต่อไร้สาย (WEP) แต่ฉันไม่แน่ใจว่าจะเกี่ยวข้องกันอย่างไร: $ curl -v google.com # This takes about 60s to return * getaddrinfo(3) failed for google.com:80 * Couldn't resolve host 'google.com' * Closing connection #0 curl: (6) Couldn't resolve host 'google.com' $ wget google.com --2011-11-28 14:44:08-- http://google.com/ Resolving google.com... failed: Name or …

5
แคช CURL ร้องขอหรือไม่
นี่เป็นคำถามที่ค่อนข้างยาวดังนั้นทนกับฉัน ฉันต้องการเน้นว่าเซิร์ฟเวอร์ Akamai ของฉันลงชื่อเข้าใช้จากอินสแตนซ์ AWS ดังนั้นฉันจึงเริ่มใช้เกณฑ์มาตรฐาน ab อย่างไรก็ตามดูเหมือนว่าพวกเขาจะดาวน์โหลดไฟล์วิดีโอขนาด 3 เมกะไบต์ได้อย่างรวดเร็ว ฉันอยากเห็นว่าเกิดอะไรขึ้น นี่คือสิ่งที่ฉันทำเพื่อรับไฟล์ curl -v -o / dev / null ข้างต้นแล้วเสร็จใน ~ 5 วินาที ต่อไปฉันรันคำสั่งเดิมอีกครั้ง คราวนี้มันเสร็จใน ~ 200ms! โดยธรรมชาติแล้วปรีชาของฉันบอกว่าไฟล์นี้ถูกแคชอยู่ที่ไหนซักแห่ง คำถามของฉัน: ขดไฟล์แคชหรือไม่? ถ้าเป็นเช่นนั้นมีวิธีเพิกเฉยไหม? หากไม่เป็นเช่นนั้น Ubuntu จะย่อขนาดแคชไว้ข้างใต้ curl หรือไม่? ถ้าเป็นเช่นนั้นมีวิธีเพิกเฉยไหม? เมื่อพิจารณาถึงข้อกำหนดคุณคิดว่าอาจมีเครื่องมือเปรียบเทียบนอกเหนือจาก ab ที่สามารถตอบสนองวัตถุประสงค์ได้หรือไม่ ขอบคุณ Akshay
19 cache  ubuntu-14.04  curl  cdn  ab 

7
ตำแหน่ง CA Cert Bundle เริ่มต้น
ฉันต้องเพิ่มไฟล์. pem cert ให้กับชุดใบรับรอง CA เริ่มต้นของฉัน แต่ฉันไม่ทราบว่าเก็บชุดใบรับรอง CA Cert เริ่มต้นไว้ที่ใด ฉันต้องการผนวกไฟล์. pem ใหม่ของฉันลงในชุดข้อมูลเริ่มต้นนี้ ฉันอยากทำมากกว่าระบุสถานที่ของตัวเองโดยใช้ --capath cURL รู้ได้อย่างชัดเจนว่าจะมองที่ไหน แต่ฉันไม่เห็นคำสั่ง cURL ใด ๆ ที่เปิดเผยตำแหน่ง มีคำสั่งที่จะเปิดเผยตำแหน่งนี้หรือไม่? ฉันจะหามันได้อย่างไร ตามที่ cURL: เพิ่มใบรับรอง CA สำหรับเซิร์ฟเวอร์ของคุณไปยังชุดใบรับรอง CA เริ่มต้นที่มีอยู่ เส้นทางเริ่มต้นของชุดข้อมูล CA ที่ใช้สามารถเปลี่ยนแปลงได้โดยการรันการกำหนดค่าด้วยตัวเลือก --with-ca-bundle ซึ่งระบุเส้นทางที่คุณเลือก ขอบคุณ

3
Ubuntu 10.04 / CURL: ฉันจะแก้ไข / อัพเดต CA Bundle ได้อย่างไร
ฉันเพิ่งอัพเกรดเซิร์ฟเวอร์ของเราจาก 8.04 เป็น 10.04 และซอฟต์แวร์ทั้งหมดพร้อมกับมัน จากสิ่งที่ฉันพบทางออนไลน์ดูเหมือนว่าเวอร์ชันใหม่ของ CURL จะไม่รวมบันเดิลของ CA และทำให้ไม่สามารถตรวจสอบได้ว่าใบรับรองของเซิร์ฟเวอร์ที่คุณกำลังเชื่อมต่อนั้นถูกลงชื่อโดยผู้มีอำนาจที่ถูกต้อง . ข้อผิดพลาดที่แท้จริงคือ: ข้อผิดพลาด CURL: ปัญหาใบรับรอง SSL ตรวจสอบว่าใบรับรอง CA นั้นตกลง รายละเอียด: ข้อผิดพลาด: 14090086: รูทีน SSL: SSL3_GET_SERVER_CERTIFICATE: การตรวจสอบใบรับรองล้มเหลว บาง palces ที่ฉันพบแนะนำให้ระบุไฟล์ CA ด้วยตนเองหรือปิดการใช้งานการตรวจสอบทั้งหมดโดยการตั้งค่าตัวเลือกเมื่อคุณโทรหา CURL แต่ฉันต้องการแก้ไขปัญหาทั่วโลกมากกว่าจะต้องแก้ไขการโทร CURL ของแต่ละแอปพลิเคชัน มีวิธีแก้ไขปัญหา CA ของ CURL ทั่วทั้งเซิร์ฟเวอร์เพื่อให้รหัสแอปพลิเคชันที่มีอยู่ทั้งหมดทำงานเหมือนที่ไม่จำเป็นต้องแก้ไขหรือไม่?
17 ubuntu  curl 

1
ปิดการใช้งาน SSL ตรวจสอบรอบต่อนาที
เมื่อพยายามเรียกใช้คำสั่ง rpm ใด ๆ ฉันได้รับข้อผิดพลาดในการติดตาม ฉันไม่แน่ใจว่าทำไมฉันถึงได้รับข้อผิดพลาดของ curl แต่ฉันได้ลองใช้ตัวเลือกที่แตกต่างกันซึ่งล้มเหลว การเรียกใช้ CentOS7 และด้านหลังพรอกซี [root@CentOS7]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm Retrieving https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm curl: (60) Peer's certificate issuer has been marked as not trusted by the user. More details here: http://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public …
15 ssl  centos7  rpm  curl 

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