GNU/Linux >> Belajar Linux >  >> Linux

Apa arti curl -k -i -X ​​di Linux?

-k, --tidak aman :Jika Anda melakukan curl ke situs web yang menggunakan sertifikat SSL yang ditandatangani sendiri maka curl akan memberi Anda kesalahan karena curl tidak dapat memverifikasi sertifikat . Dalam hal ini, Anda dapat menggunakan -k atau --insecure tandai untuk lewati validasi sertifikat .

Contoh:

[[email protected]]$ curl --head https://xxx.xxx.xxx.xxx/login

curl: (60) Peer's Certificate issuer is not recognized. 
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 keys (CA certs).
If the default bundle file isn't adequate, you can specify an 
alternate file using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented 
in the bundle, the certificate verification probably failed 
due to a problem with the certificate (it might be expired, 
or the name might not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate,
use the -k (or --insecure) option.

[[email protected]]$ curl -k --head https://xxx.xxx.xxx.xxx/login

HTTP/1.1 302 Moved Temporarily
Date: Thu, 07 Dec 2017 04:53:44 GMT
Transfer-Encoding: chunked
Location: https://xxx.xxx.xxx.xxx/login 
X-FRAME-OPTIONS: SAMEORIGIN
Set-Cookie: JSESSIONID=xxxxxxxxxxx; path=/; HttpOnly

-i, --termasuk :Bendera ini akan menyertakan tajuk http. Biasanya header http terdiri dari nama server, tanggal, jenis konten dll.

Contoh:

[[email protected]]$ curl https://google.com

<HTML><HEAD><meta http-equiv="content-type" content="text/html charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="https://www.google.com/">here</A>. </BODY></HTML>

[[email protected]]$ curl -i https://google.com

HTTP/1.1 301 Moved Permanently
Location: https://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Thu, 07 Dec 2017 05:13:44 GMT
Expires: Sat, 06 Jan 2018 05:13:44 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 220
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alt-Svc: hq=":443"; ma=2592000; quic=51303431; quic=51303339;
quic=51303338; quic=51303337; quic=51303335,quic=":443"; ma=2592000;
v="41,39,38,37,35"
<HTML><HEAD><meta http-equiv="content-.....

-X, --permintaan :Bendera ini akan digunakan untuk mengirim permintaan khusus ke server. Sebagian besar waktu kami melakukan GET , HEAD , dan POST . Tetapi jika Anda memerlukan permintaan khusus seperti PUT , FTP , DELETE maka Anda dapat menggunakan bendera ini. Contoh berikut akan mengirimkan permintaan penghapusan ke google.com

Contoh:

[[email protected]]$ curl -X DELETE google.com

..........................
<p><b>405.</b> <ins>That’s an error.</ins>
<p>The request method <code>DELETE</code> is inappropriate for the URL
<code>/</code>.  <ins>That’s all we know.</ins>`

Ini didokumentasikan dengan jelas di sini.

Edit

Dari halaman manual

-k, --tidak aman

(TLS) Secara default, setiap koneksi SSL yang dibuat curl diverifikasi aman. Opsi ini memungkinkan curl untuk melanjutkan dan beroperasi bahkan untuk koneksi server yang dianggap tidak aman.

Sambungan server diverifikasi dengan memastikan sertifikat server berisi nama yang benar dan berhasil diverifikasi menggunakan penyimpanan sertifikat.

Artinya dengan -k , curl akan menerima koneksi ke HTTPS meskipun ada kesalahan sertifikat (sertifikat kedaluwarsa, sertifikat yang diterbitkan sendiri, dll.)

-i, --termasuk

Sertakan header respons HTTP di output. Header respons HTTP dapat menyertakan hal-hal seperti nama server, cookie, tanggal dokumen, versi HTTP, dan lainnya...

Untuk melihat header permintaan, pertimbangkan opsi -v, --verbose.

Lihat juga -v, --verbose

Tidak banyak yang bisa saya katakan tentang ini dalam bahasa awam. Jika Anda tidak terbiasa dengan header respons HTTP, di sinilah Anda dapat menemukan informasi lebih lanjut.

-X, --permintaan

(HTTP) Menentukan metode permintaan khusus untuk digunakan saat berkomunikasi dengan server HTTP. Metode permintaan yang ditentukan akan digunakan alih-alih metode lain yang digunakan (yang standarnya adalah GET). Baca spesifikasi HTTP 1.1 untuk detail dan penjelasannya. Permintaan HTTP tambahan yang umum meliputi PUT dan DELETE, tetapi teknologi terkait seperti WebDAV menawarkan PROPFIND, COPY, MOVE, dan lainnya.

Biasanya Anda tidak memerlukan opsi ini. Semua jenis permintaan GET, HEAD, POST, dan PUT agak dipanggil dengan menggunakan opsi baris perintah khusus.

Opsi ini hanya mengubah kata aktual yang digunakan dalam permintaan HTTP, tetapi tidak mengubah cara kerja curl. Jadi misalnya jika Anda ingin membuat permintaan HEAD yang tepat, menggunakan -X HEAD tidak akan cukup. Anda perlu menggunakan opsi -I, --head.

String metode yang Anda atur dengan -X, --request akan digunakan untuk semua permintaan, yang jika misalnya Anda menggunakan -L, --location dapat menyebabkan efek samping yang tidak diinginkan ketika curl tidak mengubah metode permintaan sesuai dengan kode respons HTTP 30x - dan sejenisnya.

(FTP) Menentukan perintah FTP khusus untuk digunakan sebagai pengganti LIST saat melakukan daftar file dengan FTP.

(POP3) Menentukan perintah POP3 khusus untuk digunakan sebagai pengganti LIST atau RETR.(Ditambahkan dalam 7.26.0)

(IMAP) Menentukan perintah IMAP khusus untuk digunakan, bukan DAFTAR. (Ditambahkan pada 7.30.0)

(SMTP) Menentukan perintah SMTP khusus untuk digunakan, bukan BANTUAN atau VRFY.(Ditambahkan di 7.34.0)

Jika opsi ini digunakan beberapa kali, opsi terakhir akan digunakan.

Saat Anda menggunakan curl untuk mengakses halaman web, itu sebenarnya mengirimkan permintaan GET ke server. Ada jenis request lain yang bisa digunakan dan -X adalah cara untuk menentukan ini. Seperti disebutkan di atas, perintah ini biasanya tidak diperlukan. Misalnya, jika Anda memerlukan permintaan POST, Anda dapat menggunakan -d daripada menggunakan -X . Tanpa informasi lebih lanjut, sulit mengatakan mengapa Anda membutuhkan -X dalam panggilan API Anda.


Linux
  1. Apa yang membuat Linux menjadi OS yang berkelanjutan

  2. Apa yang membuat komunitas Linux istimewa?

  3. Apa tujuan dari file .bashrc di Linux?

  1. Linux vs. Unix:Apa bedanya?

  2. Apa yang dimaksud dengan POSIX?

  3. Apa urutan default dari jenis Linux?

  1. Apa VPS Terbaik:Windows atau Linux?

  2. Apa arti dari *nix?

  3. Apa arti dari fork() dan grep di Linux?