GNU/Linux >> Znalost Linux >  >> Linux

Jaký je význam curl -k -i -X ​​v Linuxu?

-k, --insecure :Pokud používáte webovou stránku, která používá certifikát SSL s vlastním podpisem pak curl zobrazí chybu, protože curl nemohl ověřit certifikát . V takovém případě můžete použít -k nebo --insecure příznakem přeskočit ověření certifikátu .

Příklad:

[[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, --include :Tento příznak bude obsahovat hlavičku http. Obvykle se hlavička http skládá z názvu serveru, data, typu obsahu atd.

Příklad:

[[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, --request :Tento příznak se použije k odeslání vlastního požadavku na server. Většinu času děláme GET , HEAD a POST . Pokud však potřebujete konkrétní požadavek, například PUT , FTP , DELETE pak můžete použít tento příznak. Následující příklad odešle požadavek na odstranění na google.com

Příklad:

[[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>`

Je to zde jasně zdokumentováno.

Upravit

Z manuálové stránky

-k, --insecure

(TLS) Ve výchozím nastavení je každé zvlnění připojení SSL ověřeno jako bezpečné. Tato možnost umožňuje curling pokračovat a fungovat i pro serverová připojení, která jsou jinak považována za nezabezpečená.

Připojení k serveru je ověřeno tím, že se ujistíte, že certifikát serveru obsahuje správné jméno, a úspěšně se ověří pomocí úložiště certifikátů.

To znamená, že s -k , curl bude přijímat připojení k HTTPS, i když se vyskytnou chyby certifikátu (zastaralý certifikát, certifikát vydaný sám sebou atd.)

-i, --include

Zahrňte do výstupu hlavičky odpovědi HTTP. Hlavičky odpovědí HTTP mohou obsahovat věci jako název serveru, soubory cookie, datum dokumentu, verzi HTTP a další...

Chcete-li zobrazit záhlaví požadavků, zvažte volbu -v, --verbose.

Viz také -v, --verbose

Laickou řečí toho moc říct nemůžu. Pokud nejste obeznámeni s hlavičkami odpovědí HTTP, zde najdete další informace.

-X, --request

(HTTP) Určuje vlastní metodu požadavku, která se má použít při komunikaci se serverem HTTP. Zadaná metoda požadavku bude použita místo metody používané jinak (která je výchozí GET). Podrobnosti a vysvětlení najdete ve specifikaci HTTP 1.1. Mezi běžné dodatečné požadavky HTTP patří PUT a DELETE, ale související technologie jako WebDAV nabízí PROPFIND, COPY, MOVE a další.

Obvykle tuto možnost nepotřebujete. Všechny druhy požadavků GET, HEAD, POST a PUT jsou spíše vyvolány pomocí vyhrazených možností příkazového řádku.

Tato volba pouze změní skutečné slovo použité v požadavku HTTP, nemění způsob, jakým se curl chová. Takže například pokud chcete vytvořit správný požadavek HEAD, použití -X HEAD nebude stačit. Musíte použít volbu -I, --head.

Řetězec metody, který nastavíte pomocí -X, --request, bude použit pro všechny požadavky, které, pokud například použijete -L, --location, může způsobit nezamýšlené vedlejší účinky, když curl nezmění metodu požadavku podle kódů odezvy HTTP 30x - a podobně.

(FTP) Určuje vlastní příkaz FTP, který se použije místo příkazu LIST při provádění seznamů souborů pomocí FTP.

(POP3) Určuje vlastní příkaz POP3, který se má použít místo příkazu LIST nebo RETR. (Přidáno v 7.26.0)

(IMAP) Určuje vlastní příkaz IMAP, který se má použít místo příkazu LIST. (Přidáno 7.30.0)

(SMTP) Určuje vlastní příkaz SMTP, který se má použít místo HELP nebo VRFY. (Přidáno v 7.34.0)

Pokud je tato možnost použita několikrát, použije se poslední.

Když používáte curl pro přístup na webovou stránku, ve skutečnosti to odesílá požadavek GET na server. Existují další druhy požadavků, které lze použít, a -X je způsob, jak to specifikovat. Jak je uvedeno výše, tento příkaz obvykle není potřeba. Pokud například potřebujete požadavek POST, můžete použít -d místo použití -X . Bez dalších informací je těžké říci, proč potřebujete -X ve vašem volání API.


Linux
  1. Jaké je nejlepší VPS:Windows nebo Linux?

  2. Jaký je účel souboru .bashrc v Linuxu

  3. Co znamená *nix?

  1. Jaký je význam fork() a grep v Linuxu?

  2. Co znamená „černá listina“ na GStreamer?

  3. Jaká je definice relace v linuxu?

  1. Co dělá Linux udržitelným OS

  2. Čím je linuxová komunita výjimečná?

  3. Linux vs. Unix:Jaký je rozdíl?