GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la signification de curl -k -i -X ​​sous Linux ?

-k, --insecure  :Si vous utilisez curl sur un site Web qui utilise un certificat SSL auto-signé alors curl vous donnera une erreur car curl n'a pas pu vérifier le certificat . Dans ce cas, vous pouvez utiliser -k ou --insecure indicateur pour ignorer la validation du certificat .

Exemple :

[[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 :Ce drapeau inclura l'en-tête http. Habituellement, l'en-tête http est composé du nom du serveur, de la date, du type de contenu, etc.

Exemple :

[[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 :Ce drapeau sera utilisé pour envoyer une requête personnalisée au serveur. La plupart du temps, nous faisons GET , HEAD , et POST . Mais si vous avez besoin d'une demande spécifique comme PUT , FTP , DELETE alors vous pouvez utiliser ce drapeau. L'exemple suivant enverra une demande de suppression à google.com

Exemple :

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

C'est clairement documenté ici.

Modifier

À partir de la page de manuel

-k, --insecure

(TLS) Par défaut, chaque connexion SSL établie par curl est vérifiée comme étant sécurisée. Cette option permet à curl de continuer et de fonctionner même pour les connexions au serveur autrement considérées comme non sécurisées.

La connexion au serveur est vérifiée en s'assurant que le certificat du serveur contient le bon nom et vérifie avec succès à l'aide du magasin de certificats.

Cela signifie qu'avec -k , curl acceptera les connexions à HTTPS même s'il y a des erreurs de certificat (certificat obsolète, certificat auto-émis, etc.)

-i, --include

Incluez les en-têtes de réponse HTTP dans la sortie. Les en-têtes de réponse HTTP peuvent inclure des éléments tels que le nom du serveur, les cookies, la date du document, la version HTTP, etc.

Pour afficher les en-têtes de requête, considérez l'option -v, --verbose.

Voir aussi -v, --verbose

Il n'y a pas grand-chose que je puisse dire à ce sujet en langage profane. Si vous n'êtes pas familier avec les en-têtes de réponse HTTP, c'est ici que vous pouvez trouver plus d'informations.

-X, --request

(HTTP) Spécifie une méthode de demande personnalisée à utiliser lors de la communication avec le serveur HTTP. La méthode de requête spécifiée sera utilisée à la place de la méthode autrement utilisée (qui est par défaut GET). Lisez la spécification HTTP 1.1 pour plus de détails et d'explications. Les requêtes HTTP supplémentaires courantes incluent PUT et DELETE, mais les technologies associées telles que WebDAV offrent PROPFIND, COPY, MOVE et plus encore.

Normalement, vous n'avez pas besoin de cette option. Toutes sortes de requêtes GET, HEAD, POST et PUT sont plutôt invoquées en utilisant des options de ligne de commande dédiées.

Cette option ne change que le mot réel utilisé dans la requête HTTP, elle ne modifie pas la façon dont curl se comporte. Ainsi, par exemple, si vous souhaitez effectuer une requête HEAD appropriée, l'utilisation de -X HEAD ne suffira pas. Vous devez utiliser l'option -I, --head.

La chaîne de méthode que vous définissez avec -X, --request sera utilisée pour toutes les requêtes, ce qui, si vous utilisez par exemple -L, --location peut provoquer des effets secondaires inattendus lorsque curl ne change pas la méthode de requête en fonction des codes de réponse HTTP 30x - et similaires.

(FTP) Spécifie une commande FTP personnalisée à utiliser à la place de LIST lors de la création de listes de fichiers avec FTP.

(POP3) Spécifie une commande POP3 personnalisée à utiliser à la place de LIST ou RETR.(Ajouté en 7.26.0)

(IMAP) Spécifie une commande IMAP personnalisée à utiliser à la place de LIST. (Ajouté à la version 7.30.0)

(SMTP) Spécifie une commande SMTP personnalisée à utiliser à la place de HELP ou VRFY. (Ajouté en 7.34.0)

Si cette option est utilisée plusieurs fois, la dernière sera utilisée.

Lorsque vous utilisez curl pour accéder à une page Web, il envoie en fait la requête GET au serveur. Il existe d'autres types de requêtes qui peuvent être utilisées et -X est le moyen de le préciser. Comme indiqué ci-dessus, cette commande n'est généralement pas nécessaire. Par exemple, si vous avez besoin d'une requête POST, vous pouvez utiliser -d plutôt que d'utiliser -X . Sans plus d'informations, il est difficile de dire pourquoi vous avez besoin de -X dans votre appel d'API.


Linux
  1. Quel est le meilleur VPS :Windows ou Linux ?

  2. Quel est le but du fichier .bashrc sous Linux

  3. Quelle est la signification de *nix ?

  4. Quelle est la signification de fork() et grep sous Linux ?

  5. Que signifie "liste noire" sur GStreamer ?

Qu'est-ce que le Shell sous Linux ?

Quelle est la différence entre Linux et Unix ?

La commande Linux curl

Les 10 meilleurs livres Linux à lire en 2019

Quelle est la différence entre curl et Wget ?

Qu'est-ce que la commande kill sous Linux ?