10 Penggunaan Perintah cURL dengan Contoh Real-Time
Diterbitkan: 2015-02-12cURL 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.

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.