10 Penggunaan Perintah cURL dengan Contoh Real-Time

Diterbitkan: 2015-02-12

cURL adalah alat baris perintah untuk mendapatkan atau mengirim data menggunakan sintaks URL.

Jika Anda bekerja sebagai pengembang atau dalam fungsi dukungan, Anda harus mengetahui penggunaan perintah cURL untuk memecahkan masalah aplikasi web. cURL adalah utilitas lintas platform yang berarti Anda dapat menggunakannya di Windows, MAC, dan UNIX.

Berikut ini adalah beberapa sintaks yang paling sering digunakan dengan contoh untuk membantu Anda.

Verifikasi apakah Anda dapat terhubung ke URL

Jika Anda bekerja pada sistem UNIX dan mencoba menghubungkan URL eksternal, hal pertama yang ingin Anda lakukan adalah memeriksa apakah Anda dapat mengakses URL melalui curl.

curl yoururl.com

Itu tidak akan membuang output apa pun. Namun, jika server tidak dapat terhubung, maka Anda akan mendapatkan kesalahan seperti tidak dapat menyelesaikan host.

 [root@gf-lab tmp]# curl helloitdoesntexist.com curl: (6) Could not resolve host: helloitdoesntexist.com; Unknown error [root@gf-lab tmp]#

Simpan keluaran URL/URI ke file

Jika Anda harus menyimpan URL atau konten URI ke file tertentu, Anda dapat menggunakan sintaks berikut:

 curl https://yoururl.com > yoururl.html

mantan:

 [root@gf-lab tmp]# curl https://gf.dev > /tmp/gfhtml % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 18557 0 18557 0 0 72565 0 --:--:-- --:--:-- --:--:-- 72772 [root@gf-lab tmp]#

Contoh di atas akan menyimpan semua konten dari gf.dev ke /tmp/gf.html

Tampilkan header permintaan dan respons

Jika Anda mengalami masalah dan ingin memvalidasi, Anda mendapatkan header permintaan dan respons yang diharapkan.

 curl -v yoururl.com

Mantan:

 [root@gf-lab tmp]# curl -v https://geekflare.com * About to connect() to geekflare.com port 443 (#0) * Trying 104.25.134.107... * Connected to geekflare.com (104.25.134.107) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * SSL connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 * Server certificate: * subject: CN=ssl371609.cloudflaressl.com,OU=PositiveSSL Multi-Domain,OU=Domain Control Validated * start date: Nov 07 00:00:00 2019 GMT * expire date: May 15 23:59:59 2020 GMT * common name: ssl371609.cloudflaressl.com * issuer: CN=COMODO ECC Domain Validation Secure Server CA 2,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB > GET / HTTP/1.1 > User-Agent: curl/7.29.0 > Host: geekflare.com > Accept: */* > < HTTP/1.1 200 OK < Date: Sat, 09 Nov 2019 19:41:37 GMT < Content-Type: text/html; charset=UTF-8 < Transfer-Encoding: chunked < Connection: keep-alive < Set-Cookie: __cfduid=d2ce6cd359ebc0b6eb5ff3a454ed042021573328497; expires=Sun, 08-Nov-20 19:41:37 GMT; path=/; domain=.geekflare.com; HttpOnly; Secure < Vary: Accept-Encoding < Link: <https://geekflare.com/wp-json/>; rel="https://api.w.org/" < Link: <https://geekflare.com/>; rel=shortlink < X-SRCache-Fetch-Status: HIT < X-SRCache-Store-Status: BYPASS < X-Frame-Options: SAMEORIGIN < X-Powered-By: EasyEngine v4.0.12 < Via: 1.1 google < CF-Cache-Status: DYNAMIC < Strict-Transport-Security: max-age=15552000; preload < X-Content-Type-Options: nosniff < Alt-Svc: h3-23=":443"; ma=86400 < Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" < Server: cloudflare < CF-RAY: 533243e4bcd4bbf4-LHR <

Unduh dengan kecepatan terbatas

Jika Anda sedang mengerjakan pengoptimalan dan ingin melihat berapa lama waktu yang diperlukan untuk mengunduh pada kecepatan tertentu, Anda dapat:-

 curl –-limit-rate 2000B

Mantan:

 curl –-limit-rate 2000B https://gf.dev

Menggunakan proxy untuk terhubung

Sangat berguna jika Anda bekerja di server DMZ di mana Anda perlu terhubung ke dunia luar menggunakan proxy.

 curl --proxy yourproxy:port https://yoururl.com

Uji URL dengan menyuntikkan tajuk

Anda dapat menggunakan curl dengan menyisipkan header dengan data Anda untuk menguji atau memecahkan masalah tertentu. Mari kita lihat contoh berikut untuk meminta dengan Content-Type.

 curl --header 'Content-Type: application/json' http://yoururl.com

Dengan melakukan di atas, Anda meminta curl untuk meneruskan Content-Type sebagai application/json di header permintaan.

Tampilkan hanya tajuk respons

Jika Anda melakukan pemecahan masalah dan ingin segera memeriksa header respons, Anda dapat menggunakan sintaks berikut.

 curl --head http://yoururl.com

Mantan:

 [root@gf-lab tmp]# curl --head https://chandan.io HTTP/1.1 200 OK Date: Sat, 09 Nov 2019 19:51:23 GMT Content-Type: text/html Connection: keep-alive Set-Cookie: __cfduid=d3cb2c7b8e566ad99c870b0af12b0f1eb1573329083; expires=Sun, 08-Nov-20 19:51:23 GMT; path=/; domain=.chandan.io; HttpOnly X-GUploader-UploadID: AEnB2Uo96JhvJmR2zYUL-Ndh2ta3UD_ykQAB5C7O8cjZQhCf-GxHQ0MsodSzRnl3guSN3ywAYNjtWcPXfwDXjLg3bQ-P5vQMOA Expires: Sat, 09 Nov 2019 20:51:23 GMT Cache-Control: public, max-age=3600 Last-Modified: Mon, 06 Aug 2018 10:45:47 GMT x-goog-generation: 1533552347482034 x-goog-metageneration: 1 x-goog-stored-content-encoding: identity x-goog-stored-content-length: 24620 x-goog-hash: crc32c=DpDPAQ== x-goog-hash: md5=cIP/3rusdUx12Zla1kf1yA== x-goog-storage-class: MULTI_REGIONAL Accept-Ranges: bytes CF-Cache-Status: DYNAMIC Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" Server: cloudflare CF-RAY: 53325234dc2fbb9a-LHR [root@gf-lab tmp]#

Hubungkan URL HTTPS/SSL dan abaikan kesalahan sertifikat SSL apa pun

Ketika Anda mencoba mengakses URL aman sertifikat SSL/TLS dan jika sertifikat tersebut salah atau CN tidak cocok, maka Anda akan mendapatkan kesalahan berikut.

 curl: (51) Unable to communicate securely with peer: requested domain name does not match the server's certificate.

Kabar baik, Anda dapat menginstruksikan cURL untuk mengabaikan kesalahan sertifikat dengan --insecure flag.

 curl --insecure https://yoururl.com

Terhubung menggunakan protokol tertentu (SSL/TLS)

Sangat berguna untuk menguji apakah URL tertentu dapat menggunakan protokol SSL/TLS tertentu.

Untuk terhubung menggunakan SSL v3

 curl --sslv3 https://yoururl.com

dan untuk versi TLS yang berbeda

 curl --tlsv1 https://example.com curl --tlsv1.0 https://example.com curl --tlsv1.1 https://example.com curl --tlsv1.2 https://example.com curl --tlsv1.3 https://example.com

Unduh file dari Server FTP

Anda dapat menggunakan curl untuk mengunduh file juga dengan menentukan nama pengguna dan kata sandi Anda.

 curl -u user:password -O ftp://ftpurl/style.css

Anda selalu dapat menggunakan “ -v ” dengan sintaks apa pun untuk mencetak dalam mode verbose.

Menggunakan Header Host

Header host berguna untuk menguji URL target melalui IP ketika konten yang diminta hanya tersedia saat header host cocok. Atau, jika Anda ingin menguji aplikasi menggunakan IP/URL penyeimbang beban.

 curl --header 'Host: targetapplication.com' https://192.0.0.1:8080/

Bagaimana dengan menggunakan cURL online?

Ya, itu mungkin dengan alat berikut. Anda dapat menjalankan cURL dari jarak jauh.

CURL Online – alat ringan untuk mengambil URL secara online dan kemungkinan untuk menambahkan opsi berikut.

 --connect-timeout --cookie --data --header --head --location --max-time --proxy --request --user --url --user-agent

pembuat baris perintah cURL – yang ini berbeda. Ini membantu Anda untuk membangun perintah curl di mana Anda dapat memasukkan informasi dalam UI yang bagus, dan di bagian bawah, Anda akan mendapatkan perintah cURL.

pembuat ikal

cURL adalah utilitas yang berguna untuk memecahkan masalah konektivitas real-time, dan saya harap hal di atas membantu Anda. Jika Anda ingin mempelajari lebih lanjut, maka saya akan merekomendasikan kursus online Dasar-Dasar Baris Perintah Linux.