11 Utilisation de la commande cURL avec un exemple en temps réel

cURL est un outil en ligne de commande pour obtenir ou envoyer des données à l’aide de la syntaxe URL.


Si vous travaillez en tant que développeur ou dans la fonction de support, vous devez être conscient de Utilisation de la commande cURL pour dépanner les applications Web. cURL est un utilitaire multiplateforme que vous pouvez utiliser sur Windows, MAC et UNIX.

Voici quelques-unes des syntaxes les plus utilisées avec un exemple pour vous aider.

Vérifiez si vous pouvez vous connecter à l’URL

Si vous travaillez sur un système UNIX et essayez de connecter l’URL externe, la première chose que vous souhaitez faire est de vérifier si vous pouvez accéder à l’URL via curl.

curl yoururl.com

Il ne lancera aucune sortie. Cependant, si le serveur ne peut pas se connecter, vous obtiendrez une erreur telle que ne peut pas résoudre l’hôte.

[[protégé par e-mail] tmp] # curl helloitdoesntexist.com
curl: (6) Impossible de résoudre l’hôte: helloitdoesntexist.com; Erreur inconnue
[[protégé par e-mail] tmp] #

Enregistrer la sortie URL / URI dans un fichier

Si vous devez enregistrer le contenu de l’URL ou de l’URI dans un fichier spécifique, vous pouvez utiliser la syntaxe suivante

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

ex:

[[protégé par e-mail] tmp] # curl https://gf.dev > / tmp / gfhtml
% Total% Reçu% Xferd Vitesse moyenne Temps Temps Temps Courant
Dload Upload Vitesse totale dépensée vers la gauche
100 18557 0 18557 0 0 72565 0 -: -: – -: -: – -: -: – 72772
[[protégé par e-mail] tmp] #

L’exemple ci-dessus enregistrera tout le contenu de gf.dev dans /tmp/gf.html

Afficher l’en-tête de demande et de réponse

Si vous rencontrez des problèmes et souhaitez valider, vous obtenez l’en-tête de demande et de réponse attendu.

curl -v yoururl.com

Ex:

[[protégé par e-mail] tmp] # curl -v https://geekflare.com
* À propos de la connexion () au port 443 de geekflare.com (# 0)
* Essayer 104.25.134.107…
* Connecté à geekflare.com (104.25.134.107) port 443 (# 0)
* Initialisation de NSS avec certpath: sql: / etc / pki / nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: aucun
* Connexion SSL utilisant TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Certificat de serveur:
* subject: CN = ssl371609.cloudflaressl.com, OU = PositiveSSL Multi-Domain, OU = Domain Control Validated
* date de début: 07 novembre 00:00:00 2019 GMT
* date d’expiration: 15 mai 23:59:59 2020 GMT
* nom commun: ssl371609.cloudflaressl.com
* émetteur: 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
> Hôte: geekflare.com
> J’accepte: */*
>
< HTTP / 1.1 200 OK
< Date: sam., 09 nov.2019 19:41:37 GMT
< Type de contenu: texte / html; charset = UTF-8
< Transfert-codage: fragmenté
< Connexion: garder en vie
< Set-Cookie: __cfduid = d2ce6cd359ebc0b6eb5ff3a454ed042021573328497; expire = dim, 08-nov-20 19:41:37 GMT; chemin = /; domaine = .geekflare.com; HttpOnly; Sécurise
< Varier: accepter-encodage
< Lien: ; rel ="https://api.w.org/"
< Lien: ; rel = shortlink
< X-SRCache-Fetch-Status: HIT
< X-SRCache-Store-Status: BYPASS
< Options X-Frame: SAMEORIGIN
< X-Powered-By: EasyEngine v4.0.12
< Via: 1.1 google
< CF-Cache-Status: DYNAMIQUE
< Strict-Transport-Security: max-age = 15552000; précharger
< Options de type de contenu X: 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"
< Serveur: cloudflare
< CF-RAY: 533243e4bcd4bbf4-LHR
<

Télécharger à un taux limite

Si vous travaillez sur l’optimisation et souhaitez voir combien de temps faut-il pour télécharger à une vitesse particulière, vous pouvez:-

curl – taux illimité 2000B

Ex:

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

Utiliser un proxy pour se connecter

Très pratique si vous travaillez sur le serveur DMZ où vous devez vous connecter au monde extérieur à l’aide d’un proxy.

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

URL de test avec injection d’en-tête

Vous pouvez utiliser curl en insérant un en-tête avec vos données pour tester ou résoudre le problème particulier. Voyons l’exemple suivant pour demander avec Content-Type.

curl –header ‘Content-Type: application / json’ http://yoururl.com

En faisant ci-dessus, vous demandez à curl de passer Content-Type comme application / json dans l’en-tête de la demande.

Afficher uniquement l’en-tête de réponse

Si vous effectuez un dépannage et souhaitez rapidement vérifier l’en-tête de réponse, vous pouvez utiliser la syntaxe suivante.

curl –head http://yoururl.com

Ex:

[[protégé par e-mail] tmp] # curl –head https://chandan.io
HTTP / 1.1 200 OK
Date: sam., 09 nov.2019 19:51:23 GMT
Type de contenu: texte / html
Connexion: garder en vie
Set-Cookie: __cfduid = d3cb2c7b8e566ad99c870b0af12b0f1eb1573329083; expire = dim, 08-nov-20 19:51:23 GMT; chemin = /; domaine = .chandan.io; HttpOnly
X-GUploader-UploadID: AEnB2Uo96JhvJmR2zYUL-Ndh2ta3UD_ykQAB5C7O8cjZQhCf-GxHQ0MsodSzRnl3guSN3ywAYNjtWcPXfwDXjLg3bQ-P5vQMOA
Expire: Sam, 09 nov 2019 20:51:23 GMT
Cache-Control: public, max-age = 3600
Dernière modification: lun, 06 août 2018 10:45:47 GMT
génération x-goog: 1533552347482034
x-goog-metageneration: 1
x-goog-stored-content-encoding: identité
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: octets
CF-Cache-Status: DYNAMIQUE
Expect-CT: max-age = 604800, report-uri ="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Serveur: cloudflare
CF-RAY: 53325234dc2fbb9a-LHR

[[protégé par e-mail] tmp] #

Connectez l’URL HTTPS / SSL et ignorez toute erreur de certificat SSL

Lorsque vous essayez d’accéder à l’URL sécurisée du certificat SSL / TLS et que le mauvais certificat ou le CN ne correspond pas, vous obtiendrez l’erreur suivante.

curl: (51) Impossible de communiquer en toute sécurité avec l’homologue: le nom de domaine demandé ne correspond pas au certificat du serveur.

Bonne nouvelle, vous pouvez demander à cURL d’ignorer l’erreur de certificat avec l’indicateur –insecure.

curl –insecure https://yoururl.com

Connectez-vous à l’aide d’un protocole spécifique (SSL / TLS)

Très pratique pour tester si une URL particulière peut établir une liaison sur un protocole SSL / TLS spécifique.

Pour se connecter à l’aide de SSL v3

curl –sslv3 https://yoururl.com

et pour différentes versions TLS

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

Télécharger le fichier depuis le serveur FTP

Vous pouvez également utiliser curl pour télécharger le fichier en spécifiant le nom d’utilisateur et le mot de passe.

curl -u utilisateur: mot de passe -O ftp: //ftpurl/style.css

Vous pouvez toujours utiliser “-v“Avec n’importe quelle syntaxe pour imprimer en mode verbeux.

Utilisation de l’en-tête d’hôte

L’en-tête d’hôte est utile pour tester l’URL cible sur IP lorsque le contenu demandé n’est disponible que lorsque l’en-tête d’hôte correspond. Ou, si vous souhaitez tester l’application à l’aide de l’IP / URL de l’équilibreur de charge.

curl –header ‘Host: targetapplication.com’ https://192.0.0.1:8080/

Que diriez-vous d’utiliser cURL en ligne?

Oui, c’est possible avec les outils suivants. Vous pouvez exécuter cURL à distance.

CURL en ligne – un outil léger pour récupérer l’URL en ligne et la possibilité d’ajouter les options suivantes.

–temps de connexion
–biscuit
–Les données
–entête
–tête
–emplacement
–temps max
–Procuration
–demande
–utilisateur
–url
–agent utilisateur

Générateur de ligne de commande cURL – celui-ci est différent. Il vous aide à construire la commande curl où vous pouvez entrer des informations dans une belle interface utilisateur, et en bas, vous obtiendrez la commande cURL.

curl-builder

cURL est un utilitaire utile pour résoudre un problème de connectivité en temps réel, et j’espère que ce qui précède vous aide. Si vous cherchez à en savoir plus, je recommanderais Bases de la ligne de commande Linux Cours en ligne.

MOTS CLÉS:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map